我在Android Studio中创建了一个新活动 - 将其命名为New_Name_2。一半我意识到这个名称是不好的命名约定,并希望将它重构为Second_Activity。
使用重构 - >重命名我重命名为content_New_Name_2.xml,activity_New_Name_2.xml和New_Name_2.java
Android Manifest中的名称已更改。
然而,当我设置onclick监听器时,我收到致命的崩溃:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.xx.Second_Activity}: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
我假设我错过了重构这个名字的地方。当我使用Android Studio创建基本活动时,除此之外还引用了它:
__编辑__包含onClickListener
btnSecond = (ImageView) findViewById(R.id.btnSecond);
btnSecond.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getApplicationContext(), Second_Activity.class));
}
});
已解决:Second_Activity类在onClickListener中有错误。我有像btn1 =(Button)findViewById(R.id.WWONG ID WAS HERE)
全部谢谢!
答案 0 :(得分:1)
阅读ComponentInfo
时尝试清理。
转到Build
> Clean Project
,然后尝试运行您的应用。
编辑(良好做法)
这是一个很好的做法,在findViewById()
之后,尝试检查视图(在您的情况下为btnSecond
)是否为空。
btnSecond = (ImageView) findViewById(R.id.btnSecond);
if (btnSecond != null)
btnSecond.setOnClickListener(new View.OnClickListener() {