2016-07-12 14 views
-1

新しいアクティビティが参照されているどこでも - New_Name_2それを呼び出します。半分の方法で私はその名前が貧弱な命名規則であり、それをSecond_Activityにリファクタリングすることを認識しています。リファクタリングを使用して私は、Android Studioで新しいアクティビティを作成しました

- >私は名前は、Androidマニフェストに変更されているcontent_New_Name_2.xml、activity_New_Name_2.xml、およびNew_Name_2.java

と改名名前を変更します。私は名前をリファクタリングする場所を逃したと仮定してい

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 

:私はonclickのリスナーを設定するとき

は、しかし、私は致命的なクラッシュを受けます。私はそれが以外に参照されているAndroidのメーカーとの基本的なアクティビティを作成する場合:

  • コンテンツのxmlを
  • 活動XML
  • Javaクラス
  • Androidのマニフェスト

__編集__

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)); 
     } 
    }); 

SOLVED:OnClickListenerでSecond_Activityクラスにエラーが発生しました。私は(ボタン)findViewById(R.id。WRONG IDがここにいた)

おかげですべてをBTN1 =のようなものを持っていました! ComponentInfo読み

+0

あなたのアクティビティは大丈夫ですが、nullオブジェクトのonClickListenerは大丈夫ですか。 –

+0

名前にカーソルを合わせてShift + F6を押すと、変更するとどこでも変更されます。 –

+0

はonClickListenerに貼り付けられます。私がクラスをリファクタリングしていない限り、nullになる可能性はありません – BR89

答えて

1

はきれいなことをしよう。

ゴーClean Project>Buildにして、あなたのアプリケーションを実行しよう。

EDIT(グッド・プラクティス)

それは良い習慣だ、findViewById()後、ビュー(あなたのケースでbtnSecond)がnullでないかどうかをチェックしてみてください。

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

残念なことにクリーニングはうまくいかなかった。 != nullテストを設定すると、まだクラッシュする。好奇心のうち=== nullに設定すると、クラッシュは発生しませんが、機能はありません。 – BR89

+0

あなたのコードpls全体を投稿 – eldivino87

関連する問題