1

別のビューでフラグメントを更新する必要があります。私が理解したように、Fragment::onCreateView() メソッドの呼び出しを強制するには (更新内容をユーザーに表示するため)、FragmentTransaction のメソッド replace(, ) しか使用できません。FragmentTransaction::replace() を呼び出すたびに、新しい Fragment と、それを onCreateView() メソッドから返すための新しいビューを作成するとうまくいきます。しかし、いくつかのビューを記憶に留めておきたいと思います。ビューを再利用するにはどうすればよいですか?

問題は、(すでに置換されたフラグメントにアタッチされた) ビューを新しいフラグメントで使用すると、次の例外が発生することです。子供の親が第一。」

そのため、 FragmentTransaction.detach() または FragmentTransaction.remove() を呼び出してフラグメントからビューを切り離して、アクティビティからフラグメントを削除し、既に置き換えられたフラグメントからビューを削除しようとしましたが、役に立ちません。

フラグメントにその子ビューを強制的に削除させる方法を知っている人はいますか( onCreateView() 内で返されましたか?

4

1 に答える 1

2

Fragment 自体がビューを適切に処理できるように、Fragment 内に含まれているビューを保持することをお勧めします。ビューのないフラグメントにそのフラグメントにデータを送信させてビューを更新するか、パラメーターを使用してビューを構築します。それはよりクリーンで、長期的にははるかに保守しやすいものです。

UI セクションを使用しないフラグメントの追加を確認してください。

于 2012-11-02T14:15:59.197 に答える