预先编写的android代码引发nullPointerException
我不知道为什么这段代码会抛出nullPointerException。这部分代码不是我写的,我对这里的工作人员很陌生。我尽了最大努力,但找不到答案预先编写的android代码引发nullPointerException,android,nullpointerexception,Android,Nullpointerexception,我不知道为什么这段代码会抛出nullPointerException。这部分代码不是我写的,我对这里的工作人员很陌生。我尽了最大努力,但找不到答案 public class ProgramExamActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCr
public class ProgramExamActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
setTitle("Screen #1");
}
public void onClick(View v) {
switch(v.getId()) {
case R.id.btn2:
setContentView(R.layout.screen2);
setTitle("Screen #2");
break;
}
}
首先,这个
setContentView(R.layout.screen2);
setTitle("Screen #2");
你不能,你不应该叫这个不止一次
第二,如果你想使用OnClickListener
,你需要为一些小部件
注册它,并且在你的代码中有任何小部件
在您的情况下,如果您不想将侦听器作为匿名类使用,您的类需要实现View.OnClickListener
public class Program... extends Activity implements View.OnClickListener { ... }
然后您需要像这样注册它:
Button btn = (Button) findViewById(R.id.btn2);
btn.setOnClickListener(this);
注意:如果您想开始另一个标题和内容不同的活动
,您必须使用意图
并调用startActivity()
更多关于和教程。将click事件的侦听器添加为
public class ProgramExamActivity extends Activity implements OnClickListener{
然后,向该侦听器注册组件。
假设你想添加点击你的任何一个按钮,比如btn1。
然后在OnCreate中添加代码
btn1.setOnClickListener(ProgramExamActivity.this);
发布异常日志。。关于你的问题。日志可能对帮助者更有帮助:)虽然代码写得不好,但有一些事情应该避免。也许这是个愚蠢的问题,但我在eclipse中哪里可以找到日志?@Enoras>>是的,写得很好,我想在这里再强调一点,因为欺骗者建议不要设置contentView两次。实际上,您应该启动一个新的活动,而不是设置新的内容视图。并在新活动中显示您的布局。感谢您的快速回答和教程链接。我试图注册,但它说它有错误的代币。我将再次阅读所有教程,因为我感觉你在浪费时间。8分钟之前已经给出了相同的答案,你不应该发布重复的答案,如果你的答案中没有新的和独特的内容,请避免发布。好的,我标记并投票支持“骗子”的答案。我没有读完整的答案是我的错误。