Xamarin.Android
のアプリを開発しています。このアプリでは、ルートアクティビティには、異なるフラグメントを表示するためのframe
が含まれています。 ルートアクティビティにはナビゲーション項目のみが含まれています。内容全体が異なる断片に示されています。
フラグメントの1つがユーザーのリストを表示しています。私はこのリストのフィルタを提供したいと思います。だから私は、すべてのフィルタオプションと、以前の "User-List-Fragment"のすべてのフィルタを適用するボタンを備えた新しいフラグメントを作成しました。
私は、「ユーザーリスト・フラグメント」にframe
を追加することで、「フィルタ」の断片を表示し、その中に「フィルタ」の断片を読み込む:"FragmentManager.PopBackStack()"が呼び出されたときに前のフラグメントにデータを返すことはできますか?
FragmentManager.BeginTransaction()
.AddToBackStack(null)
.Replace(Resource.Id.members_filterFrame, new FilterFragment())
.Commit();
私は
FragmentManager.PopBackStack();
呼び出すフィルタを適用するには「フィルタボタンを適用」の「クリックイベントリスナ」内の「
」をクリックして、「ユーザリストフラグメント」を再度表示します。しかし、ここでは、私が "User-List-Fragment"にフィルタデータを戻すことができるのかどうか、また、どのようにそれをどのように埋めることができないのかが分からないため、すべてが突然終了します。
これは、私の.axml
の "User-List-Fragment"レイアウトの一部です。 <FrameLayout />
は<ListView />
をオーバーレイし、ユーザーが「フィルターボタン」を押した場合にのみ表示されます。
.
.
.
<ListView
android:id="@+id/members_listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingBottom="150dp" />
<FrameLayout
android:id="@+id/members_filterFrame"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:visibility="gone" />
.
.
.
質問
はFragmentManager.PopBackStack();
を呼び出すときに、「ユーザー・リスト・フラグメント」にFilterFragment
バックからデータを移入することが可能ですか?
もしそうなら、どうですか?
このアプローチは素晴らしいと思われます。私はまだC#開発者になったばかりで、 'Action'デリゲートについては知りませんでした。私がその間にしたことは、フィルターオブジェクトを保持するEventHandlerとこのイベントを発生させる 'OnDestroy()'メソッドを書くことです。あなたと同様のアプローチのようです。しかし、あなたもうまくいくので、私はあなたに受け入れを与えます。ありがとう –
croxy