4

ページにフラグメントを使用する veiwpager があり、タブの 1 つに、1 つのフラグメントがリスト フラグメントで、もう 1 つのフラグメントが詳細フラグメントであるデュアルペイン スタイルのセットアップがあります。クリックされます。

しかし、リストアイテムのクリックでリストフラグメントを別のフラグメントに置き換えようとしていますが、何を試しても機能しません。どのフラグメントもハードコードされておらず、ネストされたフラグメントの要件を満たすために、リストフラグメント自体が childfragmentManager を介して追加されます、しかし、リストフラグメントを別のものに置き換えようとしても問題ないようです。常にエラーが発生するか、手動で削除してから追加しようとすると、削除は機能しますが追加は機能しません。

少なくとも私にはエラーメッセージは役に立たないようですが、例を次に示します

06-03 01:49:04.707: E/AndroidRuntime(1431): FATAL EXCEPTION: main
06-03 01:49:04.707: E/AndroidRuntime(1431): java.lang.NullPointerException
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.support.v4.app.BackStackRecord.run(BackStackRecord.java:651)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1444)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:429)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.os.Handler.handleCallback(Handler.java:725)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.os.Handler.dispatchMessage(Handler.java:92)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.os.Looper.loop(Looper.java:137)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at android.app.ActivityThread.main(ActivityThread.java:5041)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at java.lang.reflect.Method.invokeNative(Native Method)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at java.lang.reflect.Method.invoke(Method.java:511)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
06-03 01:49:04.707: E/AndroidRuntime(1431):     at dalvik.system.NativeStart.main(Native Method)

誰かが素晴らしい解決策について何かアイデアを持っているなら!

4

1 に答える 1

0

私は自分の問題を自分で見つけました。最初のリストを置き換えるフラグメントで別の目的のためにバックスタックへの参照を作成していました。置換が一時的であると見なされていたため、そのフラグメントを使用しているため、この参照を完全に忘れていました。エラー。

于 2013-06-05T04:19:48.163 に答える