首页 > 解决方案 > 请帮助我,当我打开它时,我的应用程序一直崩溃

问题描述

E/:无法加载 libgui-plugin D/AndroidRuntime:关闭 VM E/AndroidRuntime:致命异常:主进程:com.example.ayushjain.myapplication33,PID:24308 java.lang.RuntimeException:无法启动活动 ComponentInfo{com. example.ayushjain.myapplication33/com.example.ayushjain.myapplication33.Main2Activity}:java.lang.NullPointerException:尝试在 null 上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)'在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2989) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2911) 在 android.app.ActivityThread.-wrap11(Unknown Source:0) 在 android.-wrap11(Unknown Source:0) 的对象引用。 app.ActivityThread$H.handleMessage(ActivityThread.java:1688) 在 android.os.Handler。dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6753) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 引起:java.lang.NullPointerException :尝试在 com.example.ayushjain.myapplication33.Main2Activity.onCreate(Main2Activity.java:37) 处的空对象引用上调用虚拟方法 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' android.app.Activity.performCreate(Activity.java:7041) 在 android.app.Instrumentation 的 android.app.Activity.performCreate(Activity.java:7032)。callActivityOnCreate(Instrumentation.java:1231) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2864) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2989) 在 android.app.ActivityThread.-wrap11(未知来源:0) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:164) 的 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688)在 android.app.ActivityThread.main(ActivityThread.java:6753) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)performLaunchActivity(ActivityThread.java:2864) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2989) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread .java:1688) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6753)在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.爪哇:807)performLaunchActivity(ActivityThread.java:2864) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2989) at android.app.ActivityThread.-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread .java:1688) 在 android.os.Handler.dispatchMessage(Handler.java:106) 在 android.os.Looper.loop(Looper.java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6753)在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.爪哇:807)-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper .java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6753) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit .java:482) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)-wrap11(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1688) at android.os.Handler.dispatchMessage(Handler.java:106) at android.os.Looper.loop(Looper .java:164) 在 android.app.ActivityThread.main(ActivityThread.java:6753) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit .java:482) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 的 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) 调用(本机方法)在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807) 的 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:482) 调用(本机方法) 

标签: android-studio

解决方案


您在执行 Button.setOnClickListener 之前没有实例化您的按钮,因此您可以通过这种方式解决,

Button your_button = (Button) findViewById(R.id. your_button);

然后添加您的点击监听器,如下所示,

your_button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//do your stuff
});

推荐阅读