1

ときどき相対レイアウトの配置をいじるたびに、アプリの強制終了が発生します。アプリを再び機能させるには、それらを任意に再配置し続ける必要があります。または、それらをすべて左上隅に配置してから、再配置します。

私はエクリプスを使用しています。

なぜこれが起こるのですか?これを回避する方法はありますか?

[編集]

07-22 21:39:22.042: D/dalvikvm(520): GC_EXTERNAL_ALLOC 解放 291K、52% 解放 2718K/5639K、外部 741K/1038K、一時停止 51ms

07-22 21:39:22.422: D/AndroidRuntime(520): VM をシャットダウンしています 07-22 21:39:22.432: W/dalvikvm(520): threadid=1: キャッチされない例外で終了するスレッド (group=0x40015560)

07-22 21:39:22.443: E/AndroidRuntime(520): 致命的な例外: メイン 07-22 21:39:22.443: E/AndroidRuntime(520): java.lang.RuntimeException: アクティビティを開始できません

ComponentInfo{com.android.tapme/com.android.tapme.TapMe}: java.lang.ClassCastException: android.widget.TextView

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) で

07-22 21:39:22.443: E/AndroidRuntime (520): android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:1663) で

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.ActivityThread.access$1500(ActivityThread.java:117)

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) で

07-22 21:39:22.443: E/AndroidRuntime(520): android.os.Handler.dispatchMessage(Handler.java:99) で

07-22 21:39:22.443: E/AndroidRuntime(520): android.os.Looper.loop(Looper.java:123)

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.ActivityThread.main(ActivityThread.java:3683)

07-22 21:39:22.443: E/AndroidRuntime(520): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で

07-22 21:39:22.443: E/AndroidRuntime(520): java.lang.reflect.Method.invoke(Method.java:507) で

07-22 21:39:22.443: E/AndroidRuntime(520): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) で

07-22 21:39:22.443: E/AndroidRuntime(520): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) で

07-22 21:39:22.443: E/AndroidRuntime(520): dalvik.system.NativeStart.main(ネイティブ メソッド) で

07-22 21:39:22.443: E/AndroidRuntime(520): 原因: java.lang.ClassCastException: android.widget.TextView

07-22 21:39:22.443: E/AndroidRuntime(520): com.android.tapme.TapMe.onCreate(TapMe.java:26)

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1047) で

07-22 21:39:22.443: E/AndroidRuntime(520): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 07-22 21:39:22.443: E/AndroidRuntime(520): ... 11以上

[編集]

レイアウトをランダムに編集し、最終的に機能させました。次に、進行状況バーを追加して出来上がりです! クローズ エラーを再度強制します。これがログです。

07-26 00:06:57.445: D/AndroidRuntime(876): VM をシャットダウンしています

07-26 00:06:57.465: W/dalvikvm(876): threadid=1: キャッチされない例外で終了するスレッド (グループ = 0x40015560)

07-26 00:06:57.486: E/AndroidRuntime(876): 致命的な例外: メイン

07-26 00:06:57.486: E/AndroidRuntime(876): java.lang.RuntimeException: アクティビティ ComponentInfo{com.android.tapme/com.android.tapme.TapMe} をインスタンス化できません: java.lang.NullPointerException

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569) で

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread.access$1500(ActivityThread.java:117)

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) で

07-26 00:06:57.486: E/AndroidRuntime(876): android.os.Handler.dispatchMessage(Handler.java:99) で

07-26 00:06:57.486: E/AndroidRuntime(876): android.os.Looper.loop(Looper.java:123)

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread.main(ActivityThread.java:3683)

07-26 00:06:57.486: E/AndroidRuntime(876): java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で

07-26 00:06:57.486: E/AndroidRuntime(876): java.lang.reflect.Method.invoke(Method.java:507) で

07-26 00:06:57.486: E/AndroidRuntime(876): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) で

07-26 00:06:57.486: E/AndroidRuntime(876): com.android.internal.os.ZygoteInit.main (ZygoteInit.java:597) で

07-26 00:06:57.486: E/AndroidRuntime(876): dalvik.system.NativeStart.main(ネイティブメソッド)

07-26 00:06:57.486: E/AndroidRuntime(876): 原因: java.lang.NullPointerException

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.Activity.findViewById(Activity.java:1647) で

07-26 00:06:57.486: E/AndroidRuntime(876): com.android.tapme.TapMe.(TapMe.java:17)

07-26 00:06:57.486: E/AndroidRuntime(876): java.lang.Class.newInstanceImpl(ネイティブメソッド)

07-26 00:06:57.486: E/AndroidRuntime(876): java.lang.Class.newInstance(Class.java:1409)

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.Instrumentation.newActivity(Instrumentation.java:1021)

07-26 00:06:57.486: E/AndroidRuntime(876): android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561) で

07-26 00:06:57.486: E/AndroidRuntime(876): ... 11 もっと見る

4

1 に答える 1

0

RelativeLayout では、すべての子要素が相互に相対的に配置されます。

コードスニペットを次に示します。

android:layout_below="@id/elementOne"
android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/elementTwo"

だから、それらの1つを台無しにすると、すべてが台無しになります。

于 2012-07-23T19:03:00.853 に答える