アクティビティにいくつかの異なるフラグメントがある場合、どのようにフラグメント間で通信するのが最も安全ですか?
callback
を使用しましたが、コンストラクタで渡しましたが、今はクラッシュしました。
私はがクラッシュの原因であると考えています。アプリケーションがバックグラウンドにあり、ユーザーがアプリケーションに戻り、コールバックがnullの場合です。
大きな問題があります。アクティビティにフラグメントがたくさんある場合、アクティビティでコールバックを実装するのは難しく混乱します。
私はEventBus
をテストしましたが、私の目的はちょうど1つのフラグメントであり、少し厳しいですし、フラグメントは親フラグメントからデータを取得する必要があります。 あなたはより良い方法を知っていますか?
my structure
私は多くの断片A、B、C、...を持っています。フラグメントAが更新されると、フラグメントBも更新する必要があります。これは、フラグメントCを更新するとき、他のフラグメントでも同じです.Dも更新する必要があります。
インターフェイスを使用する場合は、多くのインターフェイスを記述する必要があります。他の提案はありますか?アンドロイドの断片間の通信に最適な構造は何ですか?
1
A
答えて
1
これにはBundle
クラスを使用できます。別のフラグメントで
Bundle args = new Bundle();
args.putString("my_value", "hello world");
Fragment1 fragment1 = new Fragment1();
fragment1.setArguments(args);
値受信する:YourFragment2Nameで確認変数は、公開する必要があります作る
String requiredValue = getArguments().getString("my_value");
0
if (getActivity() instanceof YourActivityName)
{
((YourFragment2Name)getActivity()).variable);
}
//を。
0
すべてが期待するシナリオに依存します。
public class MainActivity extends AppCompatActivity implements MyFragment.FragmentCallback {
//onCreate
@Override
public void onClickButton(MyFragment fragment) {
// Do your Task
}
}
+0
私はuse'Interfaceでき
Using Interface Using Broadcast Receivers Using Container Activity Using EventBus or Alternative Libs Using Observers (Rx Pattern)
インタフェース通信のために
public class MyFragment extends Fragment { interface FragmentCallback { void onClickButton(MyFragment fragment); } private FragmentCallback mCallback; @Override public void onClick(View v) { switch (v.getId()) { mCallback.onClickButton(this); } } }
and Activityでご確認ください自分のコードがきれいに保たれているアクティビティでインターフェイスを実装するための規則的なパターンを探しています。 –
+0
私はもう少し説明しました。 –
関連する問題
- 1. シンプルなPHPフレームワークに最適なクラス構造は何ですか?
- 2. クラス間の双方向通信に最適なパターンは何ですか?
- 3. .NETのプロセス間通信に最適な選択肢は何ですか?
- 4. プールコンテナの最適なデータ構造は何ですか?
- 5. 'カラー'構造に最適なデザインパターンは何ですか?
- 6. サーバーレスプロジェクトに最適なフォルダ構造は何ですか?
- 7. MYSQLに最適な構造ですか?
- 8. 「通信構造」のDCBとは何ですか?
- 9. 小型でシンプルなキャッシュに最適なデータ構造は何ですか
- 10. 線分の検索に最適なデータ構造は何ですか?
- 11. Timus Nr#1027を解くのに最適なデータ構造は何ですか?
- 12. Javaの優先順位キューに最適なデータ構造は何ですか?
- 13. C#のセットで動作する最適なデータ構造は何ですか?
- 14. Windows CEでクロスプロセスの通信に最適なメカニズムは何ですか?
- 15. は、各断片に断片
- 16. 最適なデータベース構造
- 17. Apache Spark - 3次元データ用に最適なデータ構造は何ですか?
- 18. Win32でマシン内プロセス通信に最適なIPC方法は何ですか?
- 19. Jax-RSはウェブサービスとの通信に最適なソリューションですか?
- 20. すばやく使用しているスレッド間の通信に最適な方法は何ですか?
- 21. マップのツリーの最適なデータ構造
- 22. UISplitViewController - ビューコントローラ間の通信に最適なデザインパターン
- 23. ディレクティブ間の通信に最適な方法
- 24. c#クラス間の通信に最適な方法
- 25. ディレクティブインスタンス間の通信に最適な方法
- 26. デバイス間で最も速い通信方法は何ですか?
- 27. PHP:2つのサーバ間で通信するには最適な方法
- 28. アンドロイドの断片は再利用可能ですか?
- 29. 静的構造と通常構造の違いは何ですか?
- 30. デバイス間のアンドロイド通信
あなたは、コンテナの活動を経てフラグメントとの間のすべてのあなたのcommunationを使用することができます – Lucky
あなたは ' –