我试图在Android工作室点击更改按钮属性但不幸的是它停止了应用程序

时间:2016-09-22 18:26:24

标签: android nullpointerexception crash

我的按钮onClickListener代码:

b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        b1.setBackgroundColor(Color.BLUE);
    }
});

它说

java.lang.RuntimeException: Unable to start activity ComponentInfo{ashishsolankar.fragmentstudy/ashishsolankar.fragmentstudy.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

如何解决错误?

2 个答案:

答案 0 :(得分:0)

你的按钮b1为空。即它没有参考你的按钮。

您必须在访问Button之前获取对Button的引用,例如

Button b1 = (Button) findViewById(R.id.my_button);

其中my_button是您在xml中为按钮指定的ID。

答案 1 :(得分:0)

使用此代码可以避免null例外:

Button b1 = (Button) findViewById(R.id.button); //change button id here
b1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        b1.setBackgroundColor(Color.BLUE);
    }
});