0

我有一个按预期工作的应用程序。由于 android 的未知行为,我不喜欢 UI,所以我决定重新设计 XML 文件。我创建了一个 new_layout.xml 文件,根据需要对其进行设计,然后重构 > 将 activity_main.xml 文件重命名为 activity_main_old.xml 并重构 > 将 new_layout.xml 重命名为 activity_main.xml。

该应用程序崩溃了,说无法将 Button 转换为 ImageButton,但奇怪的是我只将元素从一个 XML 文件复制/粘贴到另一个,所以应该没有问题,因为名称是相同的。

结果,我认为每个元素的名称可能与原始布局(现在的 activity_main_old.xml)冲突,所以我从项目中删除了这个文件。然后我重构 > 将 activity_main.xml 重命名为更有意义的内容(scoreboard.xml)。我将 setContentView() 方法更改为下一个记分板布局 ID。

我不明白我收到的错误消息,如果我能得到任何帮助,我将不胜感激:

12-27 15:31:24.744: E/AndroidRuntime(4800): FATAL EXCEPTION: main
12-27 15:31:24.744: E/AndroidRuntime(4800): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.ultimatescoreclock/com.example.ultimatescoreclock.ScoreboardActivity}: java.lang.NullPointerException
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.ActivityThread.access$600(ActivityThread.java:123)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.os.Looper.loop(Looper.java:137) 12-27 15:31:24.744: E/AndroidRuntime(4800):  at android.app.ActivityThread.main(ActivityThread.java:4424)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at java.lang.reflect.Method.invokeNative(Native Method)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at java.lang.reflect.Method.invoke(Method.java:511) 12-27 15:31:24.744: E/AndroidRuntime(4800):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at dalvik.system.NativeStart.main(Native Method) 12-27 15:31:24.744: E/AndroidRuntime(4800): Caused by: java.lang.NullPointerException
12-27 15:31:24.744: E/AndroidRuntime(4800):     at com.example.ultimatescoreclock.ScoreboardActivity.onCreate(ScoreboardActivity.java:207)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.Activity.performCreate(Activity.java:4465)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
12-27 15:31:24.744: E/AndroidRuntime(4800):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920)
12-27 15:31:24.744: E/AndroidRuntime(4800):     ... 11 more
4

1 回答 1

3
E/AndroidRuntime(4800): Caused by: java.lang.NullPointerException
E/AndroidRuntime(4800): at com.example.ultimatescoreclock.ScoreboardActivity.onCreate(ScoreboardActivity.java:207)

NullPointerExceptionScoreboardActivity.java课堂上的第 207 行。

您的问题中没有代码,因此很难判断发生了什么,但原因可能是您正在尝试调用null参考。

于 2012-12-27T20:39:28.217 回答