我正在尝试在两个活动之间切换,但是我的应用程序在运行时显示以下消息:“ Myapp已停止”。我已经创建了另一个活动并将其放在清单文件中。在我的主要活动课中添加了以下鳕鱼:
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);
}
});
}
当我删除此代码时,它可以正常运行,但我确实想切换活动哈哈。
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)
最佳答案
public Button btnForgotPassword = (Button)findViewById(R.id.login);
您尝试在调用
setContentView()
之前访问窗口小部件。将此行更改为:
public Button btnForgotPassword;
然后,在
onCreate()
调用之后,将此行添加到setContentView()
方法中:btnForgotPassword = (Button)findViewById(R.id.login);
关于java - Android-无法实例化 Activity -应用已停止,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45066175/