アクティビティにいくつかの異なるフラグメントがある場合、どのようにフラグメント間で通信するのが最も安全ですか?
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. .NETのプロセス間通信に最適な選択肢は何ですか?
- 3. クラス間の双方向通信に最適なパターンは何ですか?
- 4. プールコンテナの最適なデータ構造は何ですか?
- 5. 'カラー'構造に最適なデザインパターンは何ですか?
- 6. サーバーレスプロジェクトに最適なフォルダ構造は何ですか?
- 7. 入れ子の断片通信
- 8. アンドロイド - 断片
- 9. MYSQLに最適な構造ですか?
- 10. 「通信構造」のDCBとは何ですか?
- 11. アンドロイドの断片に2つの日付ピッカーを実装する最も簡単な方法は何ですか?
- 12. バッファーに最適な構造
- 13. 小型でシンプルなキャッシュに最適なデータ構造は何ですか
- 14. Timus Nr#1027を解くのに最適なデータ構造は何ですか?
- 15. 線分の検索に最適なデータ構造は何ですか?
- 16. Javaの優先順位キューに最適なデータ構造は何ですか?
- 17. C#のセットで動作する最適なデータ構造は何ですか?
- 18. Windows CEでクロスプロセスの通信に最適なメカニズムは何ですか?
- 19. は、各断片に断片
- 20. Apache Spark - 3次元データ用に最適なデータ構造は何ですか?
- 21. 最適なデータベース構造
- 22. Win32でマシン内プロセス通信に最適なIPC方法は何ですか?
- 23. ポリマーアプリの適切なフォルダ構造は何ですか?
- 24. Jax-RSはウェブサービスとの通信に最適なソリューションですか?
- 25. すばやく使用しているスレッド間の通信に最適な方法は何ですか?
- 26. (https)phpサーバと(http)PHPサーバ通信の最適な方法は何ですか?
- 27. マップのツリーの最適なデータ構造
- 28. ViewModelとコントローラ間の通信に最適な方法
- 29. c#クラス間の通信に最適な方法
- 30. ディレクティブインスタンス間の通信に最適な方法
あなたは、コンテナの活動を経てフラグメントとの間のすべてのあなたのcommunationを使用することができます – Lucky
あなたは ' –