2

私は現在、Android 用のこのコードに取り組んでおり、動的に作成された listfragment があります。リストビューも動的に割り当てられます。SQL Lite から単純なカーソル オブジェクトを取得し、アダプターに割り当てます。

それはすべてうまく機能します。問題は、方向の変更が発生した場合、savedInstanceState バンドルが常に null になることです。OnSaveInstanceState をオーバーライドして、そのバンドルまたは onCreateView にアイテムを追加しても。いくつかの調査を行ったところ、フラグメントに ID が割り当てられていないためにこれが発生していることがわかりました。

ID を listfragment に割り当てる場所とその方法について、少し問題があります。FragmentTransaction と TAG 識別子を使用しています。

この問題について何か助けていただければ幸いです。

ありがとうございました。

4

2 に答える 2

2

この質問を見てください: Android - Set fragment id

動的に作成されたフラグメントに ID を割り当てることはできません。

ただし、.xml レイアウト ファイルを作成し、.xml を使用してフラグメントに ID を割り当てることはできますandroid:id="@+id/my_fragment"。xml 定義のフラグメントを使用していない理由はありますか?

于 2013-02-28T02:52:18.700 に答える
2

これは、トランザクションを実行中に行うことができます。電話すれば

FragmentTransaction.replace(containerViewId, fragment, tag);

また

FragmentTransaction.add(fragment,tag)

また

FragmentTransaction.add(containerViewId, fragment, tag);

その後、 を使用して、このようなtagへの参照を取得できますFragment

FragmentManager.findFragmentByTag(tag);
于 2013-02-28T02:56:07.837 に答える