我写了这个函数:
private void SetNewsBackButton(Boolean visible)
{
LinearLayout backButton = (LinearLayout)findViewById(R.id.backButton);
TextView headerText = (TextView)findViewById(R.id.headerText);
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams)headerText.getLayoutParams();
if (visible)
{
backButton.setVisibility(View.VISIBLE);
params.addRule(RelativeLayout.END_OF, R.id.backButton);
} else {
backButton.setVisibility(View.INVISIBLE);
params.addRule(RelativeLayout.END_OF, 0);
}
}
Run Code Online (Sandbox Code Playgroud)
该函数应使LinearLayout可见或不可见,并在可见时将文本字段与其对齐,在不可见时不对齐.
我的问题:应用程序崩溃了
09-10 12:48:32.260 16663-16663/nidhoegger.org.nfansde W/dalvikvm? threadid=1: thread exiting with uncaught exception (group=0x41a9c600)
09-10 12:48:32.270 16663-16663/nidhoegger.org.nfansde E/AndroidRuntime? FATAL EXCEPTION: main
java.lang.ArrayIndexOutOfBoundsException: length=16; index=19
at android.widget.RelativeLayout$LayoutParams.addRule(RelativeLayout.java:1222)
at nidhoegger.org.nfansde.NewsList.SetNewsBackButton(NewsList.java:147)
at nidhoegger.org.nfansde.NewsList.ReadNews(NewsList.java:182)
at nidhoegger.org.nfansde.NewsList$1.onItemClick(NewsList.java:103)
at android.widget.AdapterView.performItemClick(AdapterView.java:298)
at android.widget.AbsListView.performItemClick(AbsListView.java:1199)
at android.widget.ListView.performItemClick(ListView.java:4444)
at android.widget.AbsListView$PerformClick.run(AbsListView.java:3067)
at android.widget.AbsListView$1.run(AbsListView.java:3753)
at android.os.Handler.handleCallback(Handler.java:615)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:155)
at …Run Code Online (Sandbox Code Playgroud) 我有一个带有opengl视图的窗口,其中包含内容.我在macOS中遇到的问题是,当我将窗口从一个监视器移动到另一个监视器时,其内容会搞砸.重绘可以解决问题.因此,当它从一个监视器移动到另一个监视器时,我需要重新绘制GL区域.有没有办法检测窗口从一个监视器到另一个监视器的转换?
我有一个数组,我想知道这个数组中的素数是多少.我知道4号不是"素数",但它仍然给我打了4号我错过了什么?我知道我不能添加第二个if:"if(isPrime && number!= 4)但我只是想了解我的代码有什么问题以及为什么编号4打印谢谢
int numbe []= {1,2,3,4,5,6,7,8,9,10};
System.out.println("Prime Numbers are:");
for(int number : numbe)
{
boolean isPrime =true;
for (int i = 2; i < number / 2 ; i++)
{
if ((number % i) == 0)
{
isPrime = false;
break;
}
}
if (isPrime)
System.out.println("Prime Number: " + number);
}
Run Code Online (Sandbox Code Playgroud) 我需要以某种方式优化程序.现在我遇到了这个问题:我有一个一维数组,表示像素数据形式的纹理.我现在需要操纵那些数据.通过以下函数访问该数组:
(y * width) + x
Run Code Online (Sandbox Code Playgroud)
有x,y坐标.现在问题是,对于这个功能最优化的是什么方式,我考虑了以下两种可能性:
排队:
inline int Coords(x,y) { return (y * width) + x); }
Run Code Online (Sandbox Code Playgroud)
宏:
#define COORDS(X,Y) ((Y)*width)+(X)
Run Code Online (Sandbox Code Playgroud)
哪一个是在这里使用的最佳实践,还是有办法得到一个更加优化的变体,我不知道?
我有一个基类,让我们称之为它base_t。base_t有一个名为的功能void render()。我希望所有派生自base_t该类的类都可以访问该功能,但没有其他人可以使用。渲染函数将定义base_t为virtual void render() = 0;使其成为纯虚拟的。
如何在C ++中实现呢?通过朋友吗?还是有其他方法可以做到这一点?
为了更清楚一点,我希望类A(派生自base_t)可以访问render()类中的功能B(也派生自base_t),该功能由实现A,B但在中是纯虚定义的base_t。
这是一个例子:
class base_t
{
private:
virtual void render() = 0;
};
class A : public base_t
{
private:
virtual void render()
{
// Do Stuff
}
};
class B : public base_t
{
public:
void dostuff(A *classA)
{
// here I want to …Run Code Online (Sandbox Code Playgroud)