私はアクティビティを持っています。Aがロードされると、Aのボタンをクリックすると、AのホームレイアウトにフラグメントFが追加されます。いったんFの中にいれば、getActivity().getSupportFragmentManager().popBackStack();
と呼んでいれば、アクティビティAに再びナビゲートします。実際にフラグメントがpopbackstackedされたら、アクティビティAでいくつかの変更を加えることができますか?フラグメントがpopbackstackedされ、あなたの活動があると、どのメソッドがアクティビティで呼び出されているのかわかりません。助けてください。閉鎖時の更新アクティビティ
0
A
答えて
1
OnBackStackChangedListener()を追加できます。
getSupportFragmentManager().addOnBackStackChangedListener(new OnBackStackChangedListener()
{
public void onBackStackChanged()
{
}
});
このコールバックは、バックスタックの変更ごとに呼び出されます。
1
作成し、あなたの活動にあなたの活動で
public class MyFragment extends Fragment {
OnFragmentCloseListener mCallback;
// Container Activity must implement this interface
public interface OnFragmentCloseListener {
public void onClosed(Bundle data);
}
//call this while closing the fragment
Bundle data = new Bundle();
data.putExtra("key"," value");
mCallback.onClosed(data);
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
// This makes sure that the container activity has implemented
// the callback interface. If not, it throws an exception
try {
mCallback = (OnFragmentCloseListener) activity;
} catch (ClassCastException e) {
throw new ClassCastException(activity.toString()
+ " must implement OnFragmentCloseListener ");
}
}
}
public static class MainActivity extends Activity
implements MyFragment.OnFragmentCloseListener {
public void onClosed(Bundle data) {
//get the budle data here
}
}
+0
@ SaravInfern-複数のフラグメントがある場合や、それらのすべてがアクティビティといくつかのデータを共有しようとしている場合はどうすればよいですか? –
+0
共通のインターフェースを持っていて、バンドルの中に 'Bundle data = new Bundle();からのフラグメントを示すキーを入れます。data.putExtra( "from"、 "fragment1"); mCallback.onClosed(data); 'アクティビティで、どちらが閉じられているかを知るためのキーをチェックします – SaravInfern
関連する問題
- 1. サイト閉鎖時のPopunder
- 2. 即時閉鎖の問題?
- 3. ラケット - 閉鎖と適用 - 閉鎖
- 4. コアの場所の自動閉鎖、アクティビティの種類の効果
- 5. 閉鎖時に自動電子メール
- 6. javascript:ポップアップページの更新時に閉じる
- 7. MemoryStream閉鎖エラー
- 8. 閉鎖タプルは
- 9. 閉鎖コンパイラサービスAPI
- 10. スクリプト閉鎖
- 11. Swift3閉鎖クラッシュ
- 12. スウィフト、閉鎖
- 13. は閉鎖
- 14. JavaScript閉鎖メモリリーク
- 15. 閉鎖代替
- 16. 再帰閉鎖
- 17. Google閉鎖デコンパイラ?
- 18. レルムIOS閉鎖
- 19. スウィフト閉鎖
- 20. Luaのシリアライズ閉鎖
- 21. 閉鎖イベントのShowDialog
- 22. Mercurialブランチの閉鎖
- 23. Javascriptの閉鎖は
- 24. 閉鎖が予想され、別の閉鎖を見つけた
- 25. 春のコンテキスト閉鎖イベントとコンテキスト閉鎖イベント
- 26. アクティビティ更新時にデータを更新するタブページ・フラグメント
- 27. インタースティシャル広告閉鎖
- 28. 自動閉鎖アプリケーション
- 29. グルービー閉鎖名前
- 30. ジェンキンスワークフローjava.io.NotSerializableException:groovy.json.internal.LazyMapが閉鎖
呼び出すためにこのメソッドをインターフェイスを実装しますか? @R。 Adasiewicz –
私はそれを追加中にバックスタックにフラグメントを追加していません。私はfragmentTransaction.addToBackStack(null)を書きました。 –
アクティビティ –