2017-07-12 14 views
1

私は2つのアクティビティを切り替えようとしていますが、私のアプリケーションは実行時に次のメッセージを表示します: "Myapp has stopped"私は既に別のアクティビティを作成し、それをマニフェストファイルに入れました。私の主な活動クラスで、次のタラを追加しました:Android - アクティビティをインスタンス化できません - アプリケーションが停止しました

public Button btnForgotPassword = (Button)findViewById(R.id.login); 

public void init() 
{ 
    btnForgotPassword.setOnClickListener(new View.OnClickListener() 
    { 
     @Override 
     public void onClick(View v) 
     { 
      Intent itt = new Intent(LoginScreen.this, ForgotPassword.class); 
      startActivity(itt); 
     } 
    }); 
} 

私はそれがnormaly実行し、このコードを削除し、私は本当に笑支援を切り替えたいです。

CatLog:

07-12 16:11:45.223 29065-29065/com.chest.chestbrasil.chest E/AndroidRuntime: FATAL EXCEPTION: main 
                     Process: com.chest.chestbrasil.chest, PID: 29065 
                     java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.chest.chestbrasil.chest/com.chest.chestbrasil.chest.LoginScreen}: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2337) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490) 
                      at android.app.ActivityThread.-wrap11(ActivityThread.java) 
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354) 
                      at android.os.Handler.dispatchMessage(Handler.java:102) 
                      at android.os.Looper.loop(Looper.java:148) 
                      at android.app.ActivityThread.main(ActivityThread.java:5443) 
                      at java.lang.reflect.Method.invoke(Native Method) 
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
                      Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference 
                      at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:120) 
                      at android.support.v7.app.AppCompatDelegateImplV9.<init>(AppCompatDelegateImplV9.java:155) 
                      at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:31) 
                      at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:55) 
                      at android.support.v7.app.AppCompatDelegateImplV23.<init>(AppCompatDelegateImplV23.java:33) 
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:203) 
                      at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:185) 
                      at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:519) 
                      at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:190) 
                      at com.chest.chestbrasil.chest.LoginScreen.<init>(LoginScreen.java:13) 
                      at java.lang.Class.newInstance(Native Method) 
                      at android.app.Instrumentation.newActivity(Instrumentation.java:1090) 
                      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2327) 
                      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2490)  
                      at android.app.ActivityThread.-wrap11(ActivityThread.java)  
                      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1354)  
                      at android.os.Handler.dispatchMessage(Handler.java:102)  
                      at android.os.Looper.loop(Looper.java:148)  
                      at android.app.ActivityThread.main(ActivityThread.java:5443)  
                      at java.lang.reflect.Method.invoke(Native Method)  
                      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)  
                      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)  

答えて

3
public Button btnForgotPassword = (Button)findViewById(R.id.login); 

あなたはsetContentView()と呼ばれている前に、ウィジェットにアクセスしようとしています。

変更するには、この行:

その後
public Button btnForgotPassword; 

は、あなたのsetContentView()コールの後、あなたのonCreate()メソッドに次の行を追加します。

btnForgotPassword = (Button)findViewById(R.id.login); 
+0

たTHXバディ!それはうまく動作します! – Adolfok3

関連する問題