引用新活动的所有地方

时间:2016-07-12 14:19:57

标签: android android-studio

我在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创建基本活动时,除此之外还引用了它:

  • 内容xml
  • 活动xml
  • Java类
  • Android Manifest

__编辑__包含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)

全部谢谢!

1 个答案:

答案 0 :(得分:1)

阅读ComponentInfo时尝试清理。

转到Build> Clean Project,然后尝试运行您的应用。

编辑(良好做法)

这是一个很好的做法,在findViewById()之后,尝试检查视图(在您的情况下为btnSecond)是否为空。

btnSecond = (ImageView) findViewById(R.id.btnSecond);
if (btnSecond != null)
    btnSecond.setOnClickListener(new View.OnClickListener() {