所以我有2个XML布局文件 一个是菜单,另一个是应用程序 所以,现在我在一个XML文件上有一些按钮,在另一个文件上有一些其他按钮。
所以这段代码可行:
setContentView(R.layout.main);
start = (Button) findViewById(R.id.button1);
start.setOnClickListener(this);
但如果我改变观点并写下来:
setContentView(R.layout.random);
add_person = (Button) findViewById(R.id.add);
add_person.setOnClickListener(this); //crash here
应用程序崩溃了!
答案 0 :(得分:3)
add_person
为null所以得到Nullpointer Exception并且你在random.xml中有一个添加为id的Button?
如果没有则添加
<Button android:id="@+id/add" ... />
答案 1 :(得分:0)
从 Project-&gt; Clean 清除当前项目后尝试。
或者您可以使用
(Button)random.findViewById(R.id.add);
而不是
(Button) findViewById(R.id.add);
答案 2 :(得分:0)
您应该将此类实现为onClickListner
,如下所示:
public class <ClassName> extends Activity implements OnClickListener{
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
start = (Button) findViewById(R.id.button1);
start.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
//Hear Yor Logic on Click Event.
break;
}
}
}