gpt4 book ai didi

android - 由 setOnClickListener 引起的 NullPointerException?

转载 作者:行者123 更新时间:2023-11-29 22:21:00 24 4
gpt4 key购买 nike

我对这个问题感到非常沮丧。首先,这确实工作正常,没有任何问题,我不知道为什么我现在会收到此错误。

该应用程序在我的手机 (v2.3.4) 上运行良好,但在一个模拟器 (1.6 > 2.3) 上运行不佳

我在加载应用程序后立即收到的错误是“NullPointerException”。这是 DDMS

08-24 21:10:11.706: WARN/dalvikvm(423): threadid=1: thread exiting with uncaught exception (group=0x40015560)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): FATAL EXCEPTION: main
08-24 21:10:11.726: ERROR/AndroidRuntime(423): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.myapp.app/com.myapp.app.SplashActivity}: java.lang.NullPointerException
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.os.Handler.dispatchMessage(Handler.java:99)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.os.Looper.loop(Looper.java:123)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.main(ActivityThread.java:3647)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at java.lang.reflect.Method.invokeNative(Native Method)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at java.lang.reflect.Method.invoke(Method.java:507)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at dalvik.system.NativeStart.main(Native Method)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): Caused by: java.lang.NullPointerException
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.myapp.app.SplashActivity.onCreate(SplashActivity.java:43)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1586)
08-24 21:10:11.726: ERROR/AndroidRuntime(423): ... 11 more

好的,所以我查找导致问题的原因 (08-24 21:10:11.726: ERROR/AndroidRuntime(423): at com.myapp.app.SplashActivity.onCreate(SplashActivity.java:43))

这是我的onCreate:

    @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.welcome);


Button playBtn = (Button) findViewById(R.id.playBtn);
playBtn.setOnClickListener(this);
Button settingsBtn = (Button) findViewById(R.id.settingsBtn);
settingsBtn.setOnClickListener(this);
Button rulesBtn = (Button) findViewById(R.id.rulesBtn);
rulesBtn.setOnClickListener(this);
Button exitBtn = (Button) findViewById(R.id.exitBtn);
exitBtn.setOnClickListener(this);
}

第43行是最后一个:exitBtn.setOnClickListener(this);

这稍后会在应用程序中使用每个按钮的 switch 语句进行处理,退出按钮的唯一代码是“finish();”但它会崩溃 'onCreate' 而不是 onClick。

这对我来说毫无意义,它曾经工作得很好而且我没有更改与此相关的代码,因为它以前工作过。此外,退出按钮的设置与所有其他按钮(在 src 和布局文件中)完全相同,那么为什么当它到达退出按钮时会崩溃?正如我所说,这在我的 cyn7 设备上工作正常,但在任何模拟器上都没有(它确实如此)

这个应用程序已经花费了大量的工作才能达到这一点,当它开始时我只是在做最后的测试..太令人生气了!

任何人都可以提供任何建议来修复甚至为什么会发生这种情况吗?

编辑:好的,这真的很奇怪。我注释掉了退出按钮。现在我的“播放”按钮什么都不做(即使在 DDMS 中它什么也没显示)设置正常并且规则崩溃,setOnClickListener(this) 上的规则 Activity 出现相同的错误。这没有意义,因为设置 Activity 也有一个“setOnClickListener”。这是怎么回事?!

最佳答案

听起来像是一个损坏的工作区。 Eclipse 中的 Android 有时会使用实际布局从 sysnc 中获取自动生成的资源文件。正如 Xion 提到的,清理和重建将通过 Project -> Clean... -> Clean all projects 解决这个问题。在执行此操作之前,确保勾选了项目 -> 自动构建。

关于android - 由 setOnClickListener 引起的 NullPointerException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7182503/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com