現在、私はフラグメントに取り組んでいますので、アクティビティに触れることなくフラグメントからフラグメントにデータを渡すことが可能かどうかを知りたいと思います。androidのアクティビティに触れることなくフラグメントからフラグメントへデータを渡すことは可能ですか
答えて
使用バンドルは、文字列を送信します
//Put the value
YourNewFragment ldf = new YourNewFragment();
Bundle args = new Bundle();
args.putString("YourKey", "YourValue");
ldf.setArguments(args);
//Inflate the fragment
getFragmentManager().beginTransaction().add(R.id.container, ldf).commit();
をonCreateViewで新しいフラグメントの:
//Retrieve the value
String value = getArguments().getString("YourKey");
は、あなたがそれを行うことができますいくつかの方法があります。 )
private int data;
private static String PARAM_MY = "param";
public static MyFragment newInstance(int data) {
MyFragment fragment = new MyFragment();
Bundle args = new Bundle();
args.putInt(PARAM_MY , data);
fragment.setArguments(args);
return fragment;
}
、あなたは(それを盗んのonCreateすることができます:そのうちの一つは、このような引数でデータを送信することである
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (getArguments() != null) {
data = getArguments().getInt(PARAM_MY);
}
}
他の方法は、Interfacesを使用することです。
私はそうは思わない。すべてのフラグメントはアクティビティにアタッチされており、同じアクティビティに接続されている場合を除いて、2つのフラグメントの間に直接接続はありません。フラグメント間で通信したい場合は、フラグメント内のインターフェイスを定義し、接続されたアクティビティでインターフェイスを実装する必要があります。添付されたアクティビティでは、2つのフラグメントインスタンスがあるため、フラグメント間で(アクティビティを使用して)データを渡すことができます。これは厳密にベストプラクティスが推奨する、詳細についてはドキュメントを見てみましょう:
https://developer.android.com/training/basics/fragments/communicating.html
活動はあなたが活動中のデータを保つことができると同じである場合。
活動
public class MyActivity extends Activity {
private MyObject myObject = new MyObject();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_my);
...
}
public MyObject getMyObject() {
return myObject;
}
}
断片
public class MyFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
MyActivity activity = (MyActivity) getActivity();
MyObject myObjectFromActivity = activity.getMyObject();
return view;
}
}
主な質問は、あなたが達成しようとしているデータの種類をお渡ししようとしているものでしょうか?
私が仕事用に書いたアプリケーションの1つは、メインアクティビティを使用してすべてのコントローラを保持し、どのビューやフレームセグメント、または関連コントローラからでも簡単にアクセスできるようにしたものです。良い例は、すべての共有アプリデータを保持するデータコントローラです。
文字列と整数、またはより複雑なオブジェクトを渡そうとしていますか?
この
1達成するために、いくつかの方法があります:バンドル
Link 1 - Explains How to transfer data using bundle and other methods
2を使用する:フラグメント
Link 2 - With help of activites ,interface and fragments
3活動&使用:使った共有設定が
- 1. アクティビティからスワイプ可能なフラグメントにデータを渡す方法は?
- 2. は、フラグメントからフラグメントをコールすることは可能です
- 3. オブジェクトデータをフラグメントからシリアライズ可能なフラグメントに渡すには?
- 4. Java - アクティビティからデータをフラグメントに渡す
- 5. フラグメントからアクティビティにデータを渡す
- 6. アクティビティのデータをフラグメントに渡すことができません
- 7. アクティビティのデータをフラグメントに渡すことができません。
- 8. アクティビティからフラグメント内のフラグメントにデータを渡す方法
- 9. タブバーにないフラグメントを持つことは可能ですか?
- 10. Android:フラグメントとアクティビティ間のデータ
- 11. Android 2.2.1,2.3,2.0のフラグメント。これは可能ですか?
- 12. arraylistで分解可能<CustomClass>アクティビティからフラグメントに渡す値android
- 13. フラグメント化からアクティビティへのAndroid SharedPreferences
- 14. フラグメントはアクティビティですか? (Android)
- 15. アクティビティからフラグメントへのパーセル
- 16. Androidのフラグメント - 置換はフラグメントを追加することです
- 17. Android:BroadcastReceiverで片方のフラグメントから別のフラグメントにデータを渡す
- 18. フラグメントからアクティビティを開く
- 19. アクティビティのデータをフラグメントに渡す方法
- 20. 1つのフラグメントから別のフラグメントに来るRecyclerViewAdapter内のインテントを渡すことはできますか?
- 21. Androidの別のアクティビティにorg.teleal.cling.model.meta.Deviceクラスを渡すことは可能ですか?
- 22. リストビューのデータはフラグメントに渡すことができません
- 23. アクティビティからフラグメントにデータを渡す方法
- 24. Firebaseのデータを1つのフラグメントから別のフラグメントに渡す
- 25. 異なるフラグメントを別のフラグメントに渡すアクティビティのタブ付き
- 26. レイアウトに触れることなくAndroidのアクティビティの向きを変更する
- 27. フラグメントまたはListFragmentにListViewを含めることは可能ですか?
- 28. タブ付きアクティビティのフラグメントからデータをフラグメントに送信
- 29. jsonデータをフラグメントから表示せずにフラグメントからアクティビティに渡す方法は?
- 30. コンストラクタでフラグメントを渡すことはできますか?
何も触れていないのですか?それを明確に説明してください –
ようこそ[スタックオーバーフロー](http://stackoverflow.com/)! [質問する方法](http://stackoverflow.com/help/how-to-ask)を読んで、[最小限の完全で検証可能な例]を提供してください(http://stackoverflow.com/help/mcve) ! –
[フラグメント間でデータを保持する方法](http://stackoverflow.com/questions/21329670/how-to-retain-data-between-fragments)の可能な複製 – Yatin