按钮setOnClickListener导致应用程序崩溃

时间:2012-05-05 11:12:12

标签: java android xml button

所以我有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

应用程序崩溃了!

3 个答案:

答案 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;       
           }        
    }
}