Android活动在启动后立即崩溃

时间:2012-05-11 13:30:22

标签: android runtime onclicklistener

我一直在努力开发应用程序,一切都进展顺利。但是,当我在我的一个.xml文件(而不是main.xml)中为一个按钮添加了一个onCLickListener时,一旦我试图在模拟器中打开它,它就开始崩溃了。 onClickListener的所有代码与我拥有的其他两个按钮的代码相同。这是我有问题的听众的代码:

    Button button3 = (Button)findViewById(R.id.button3);
    button3.setOnClickListener(bt3listener);


    private OnClickListener bt3listener = new OnClickListener(){
    public void onClick(View v){
        setContentView(R.layout.main);
    }
};

任何此代码与我的其他onClickListeners不同的唯一方法是它引用与main.xml不同的文件中的按钮。它在显示任何ui之前崩溃,除了顶部有我的项目名称的黑色屏幕,并给我一个提示“un

4 个答案:

答案 0 :(得分:1)

  

我的一个.xml文件(不是main.xml)中的按钮,

它必须是您使用setContentView()设置的布局,以便使用findViewById()使用this检索它,或使用inflater来获取布局其中声明了Button,并将返回的viewfindViewById()一起使用。

viewReturnedByInflater.findViewById()

答案 1 :(得分:0)

在将OnClickListener分配给按钮之前,需要初始化它。

答案 2 :(得分:0)

试试这个

private OnClickListener bt3listener = new OnClickListener(){
public void onClick(View v){
    setContentView(R.layout.main);
}
};
Button button3 = (Button)findViewById(R.id.button3);
button3.setOnClickListener(bt3listener);

答案 3 :(得分:0)

它会给你错误,因为当Button button3 = (Button)findViewById(R.id.button3); 尝试找到按钮时,但由于按钮位于另一个xml布局中,它会崩溃。

您应该渗透其他布局或在主布局上添加按钮