6

コードに次の行があります

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, fragment, fargmentTag);

ここで、フラグメントにバンドルを追加したいと思います。これどうやってするの ?

4

3 に答える 3

9

これを試して:

FragmentActivity クラス内の任意の場所に、次のように記述します。

MyFragmentClass mFrag = new MyFragmentClass();
Bundle bundle = new Bundle();
bundle.putString("DocNum", docNum);   //parameters are (key, value).
mFrag.setArguments(bundle);

getSupportFragmentManager().beginTransaction().replace(R.id.page_fragments, mFrag).commit();

「import android.support.v4.app.FragmentActivity;」を使用しています。そこで、「getSupportFragmentManager()」を使用します。上記のコードを要約すると、u はバンドル インスタンスとフラグメントのインスタンスを作成しました。次に、2 つのオブジェクトを「mFrag.setArguments(bundle)」で関連付けました。これで、「バンドル」が MyFragmentClass のインスタンスに関連付けられました。したがって、MyFragmentClass の任意の場所で、次を呼び出してバンドルを取得します。

Bundle bundle = getArguments();
String mDocNum = bundle.getString("DocNum");
于 2014-08-26T21:25:45.950 に答える
5

ft.replace(R.id.fragment_content, fragment, fargmentTag);次の行を追加する前に:

fragment.setArguments(bundle).

于 2013-04-17T07:13:52.900 に答える
0

呼び出す前replaceに追加するだけですfragment.setArguments(bundle)

于 2013-04-17T07:16:34.927 に答える