我的代码中有以下几行
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()”。所以总结上面的代码,你创建了一个包实例和你的片段实例。然后将这两个对象与“mFrag.setArguments(bundle)”相关联。所以现在“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)