0

期待どおりに動作するアプリがありました。Android の未知の動作のために UI が気に入らなかったので、XML ファイルを再設計することにしました。new_layout.xml ファイルを作成し、必要に応じて設計してからリファクタリング > activity_main.xml ファイルの名前を activity_main_old.xml に変更し、リファクタリング > new_layout.xml の名前を activity_main.xml に変更しました。

ボタンを ImageButton にキャストできないと言ってアプリがクラッシュしましたが、奇妙なことに、1 つの XML ファイルから別の 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 に答える