2016-09-11 5 views
-1

フラグメント1から最後のフラグメントにデータ(ストリング)を渡すための簡単な方法は、データの保存(セーブ、セットまたはプット)フラグメント、私は引数を使用してフラグメント1からフラグメント2に渡しましたが、最後のフラグメントにどのように渡すか考えていません。フラグメント1から最後のフラグメントまでのエクストラ・ストリング

答えて

1

バンドルで値を渡すことができます。例えば

Fragment fragment = new YourFragment(); 
Bundle args = new Bundle(); 
args.putString(ARG_PARAM1, param1); 
args.putString(ARG_PARAM2, param2); 
fragment.setArguments(args); 
FragmentManager manager = activity.getSupportFragmentManager(); 
FragmentTransaction ft = manager.beginTransaction(); 
ft.addToBackStack(null); 
ft.add(R.id.container_layout, fragment); 
ft.commit(); 

追加または断片を置換したくない場合。 (あなたの断片がすでに開いている場合には)、フラグメントをInterfaceにしてBaseActivityにInterfaceを実装することができます。

+0

OK Uは歓迎rは私の試してみましょう、と感謝:) –

0

documentation here提案された通信パターンに従って、別の回答によって提案されたとおり、バンドルを使用して任意のフラグメントから任意のフラグメントにデータを渡すことができます。

シングルトンを作って変数にアクセスすることができます。answer here これは既に数回質問されていますので、まず質問してから直接質問してください。

+0

感謝の男と尋ねるための謝罪は、私の最初の日:) –

+0

をit's SOコミュニティに5分かけて質問をする方法のガイドラインを入手してください。ここ:http://stackoverflow.com/help/how-to-ask – TapanHP

1

パス値

Fragment fragment = new YourFragment(); 
FragmentManager manager = activity.getSupportFragmentManager(); 
FragmentTransaction ft = manager.beginTransaction(); 
Bundle args = new Bundle(); 
args.putString(ARG_PARAM1, param1); 
args.putString(ARG_PARAM2, param2); 
fragment.setArguments(args); 
ft.addToBackStack(null); 
ft.replace(R.id.container_layout, fragment).commit(); 

GET値

@Override 
     public View onCreateView(LayoutInflater inflater, ViewGroup container, 
           Bundle savedInstanceState) { 
      yourvalue1 = getArguments().getString("ARG_PARAM1"); 
      yourvalue2 = getArguments().getString("ARG_PARAM2"); 
      final View view = inflater.inflate(R.layout.yourlayout, container, false); 
     retrun view; 
} 
+0

多くのおかげで:) –

関連する問題