コードに次の行があります
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, fragment, fargmentTag);
ここで、フラグメントにバンドルを追加したいと思います。これどうやってするの ?
コードに次の行があります
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, fragment, fargmentTag);
ここで、フラグメントにバンドルを追加したいと思います。これどうやってするの ?
これを試して:
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");
ft.replace(R.id.fragment_content, fragment, fargmentTag);
次の行を追加する前に:
fragment.setArguments(bundle)
.
呼び出す前replace
に追加するだけですfragment.setArguments(bundle)