Android 应用程序意外停止
Posted
技术标签:
【中文标题】Android 应用程序意外停止【英文标题】:Android application stopped unexpectedly 【发布时间】:2012-02-07 19:40:13 【问题描述】:当我在 Eclipse 中编写我的代码(以下)时,它在模拟器上给出了一个错误,即您的应用程序已意外停止。 sdk没有安装错误。这是我的代码。
public class startingPoint extends Activity
/** Called when the activity is first created. */
int counter1,counter2;
Button add;
Button sub;
TextView display;
@Override
public void onCreate(Bundle savedInstanceState)
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
counter1=counter2 = 0;
add = (Button) findViewById(R.id.bAdd);
add = (Button) findViewById(R.id.bSub);
display = (TextView) findViewById(R.id.tvDisplay);
add.setOnClickListener(new View.OnClickListener()
public void onClick(View arg0)
counter1=counter1+1;
display.setText("Your total is "+counter1);
);
sub.setOnClickListener(new View.OnClickListener()
public void onClick(View arg0)
counter2=counter2-1;
display.setText("Your total is "+counter2);
);
【问题讨论】:
【参考方案1】:你有一个复制和粘贴错误,你从来没有初始化sub
add = (Button) findViewById(R.id.bAdd);
add = (Button) findViewById(R.id.bSub); // should be sub instead of add
对于下一个问题,请查看您的 LogCat 并发布堆栈跟踪,因为这可能有助于我们更轻松地找到错误。
【讨论】:
【参考方案2】:你得到 nullPointer 异常,因为你没有初始化子变量。修改你的代码:
add = (Button) findViewById(R.id.bAdd);
add = (Button) findViewById(R.id.bSub);
到
add = (Button) findViewById(R.id.bAdd);
sub = (Button) findViewById(R.id.bSub);
【讨论】:
【参考方案3】:您为同一个变量分配了两次新值。
add = (Button) findViewById(R.id.bAdd);
add = (Button) findViewById(R.id.bSub);
我认为应该是这样的:
add = (Button) findViewById(R.id.bAdd);
sub = (Button) findViewById(R.id.bSub);
在您的代码中,sub.setOnClickListener
抛出 NullPointerException
,因为 sub
为空。
【讨论】:
以上是关于Android 应用程序意外停止的主要内容,如果未能解决你的问题,请参考以下文章
一解锁手机屏幕上就出现抱歉,进程"com.android.systemui"已停止运行,怎么办