メインのアクティビティ内で、子ビューを使用してFrameLayoutを作成し、それをContentViewとして設定します。これで、同じアクティビティ内にとどまり、onCreate()が完全に実行された後、FrameLayoutに子ビューを動的に追加および削除できるようにする必要があります。これは、ハンドラーを使用してメインスレッドを一時停止し、必要に応じて子ビューを追加または削除することで実現しました。
これはすべて、プログラムで作成したビューを処理する場合にうまく機能しますが、XMLレイアウトを使用するビューで同じことを行おうとすると、FrameLayoutに追加しようとしているViewGroupからNullPointerExceptionが発生します。 。
フラグメントを使用せずにこれを実現するために使用できる特定の手順はありますか?
私が何を求めているのか理解できない人がいれば、もっと詳しく説明することができます。役立つ場合はコードチャンクを提供できますが、ほとんどの場合、簡単な説明から私が行っていることの要点を理解できると思います。私は正しい方向に私を向けてくれる人を探しています。
スローされた例外のLogCatチャンクは次のとおりです。
11-15 13:40:42.977: E/AndroidRuntime(14956): FATAL EXCEPTION: main
11-15 13:40:42.977: E/AndroidRuntime(14956): java.lang.NullPointerException
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.view.ViewGroup.addView(ViewGroup.java:1821)
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.view.ViewGroup.addView(ViewGroup.java:1808)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.beastcodes.framework.impl.AndroidGame.addScreenFragment(AndroidGame.java:207)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.beastcodes.framework.impl.AndroidGame.addAllScreenFragments(AndroidGame.java:213)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.beastcodes.framework.impl.AndroidGame.access$2(AndroidGame.java:211)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.beastcodes.framework.impl.AndroidGame$3.run(AndroidGame.java:61)
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.os.Handler.handleCallback(Handler.java:587)
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.os.Handler.dispatchMessage(Handler.java:92)
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.os.Looper.loop(Looper.java:130)
11-15 13:40:42.977: E/AndroidRuntime(14956): at android.app.ActivityThread.main(ActivityThread.java:3691)
11-15 13:40:42.977: E/AndroidRuntime(14956): at java.lang.reflect.Method.invokeNative(Native Method)
11-15 13:40:42.977: E/AndroidRuntime(14956): at java.lang.reflect.Method.invoke(Method.java:507)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:907)
11-15 13:40:42.977: E/AndroidRuntime(14956): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:665)
11-15 13:40:42.977: E/AndroidRuntime(14956): at dalvik.system.NativeStart.main(Native Method)