从FragmentActivity向Fragment添加包

use*_*789 5 android

我的代码中有以下几行

FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, fragment, fargmentTag);
Run Code Online (Sandbox Code Playgroud)

现在我想在我的片段中添加一个包.我怎样才能做到这一点 ?

Gen*_*ene 6

试试这个:

在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();
Run Code Online (Sandbox Code Playgroud)

我正在使用"import android.support.v4.app.FragmentActivity;"所以我使用"getSupportFragmentManager()".因此,为了总结上面的代码,您创建了一个bundle实例和一个片段实例.然后,您将两个对象与"mFrag.setArguments(bundle)"相关联.所以现在"bundle"与MyFragmentClass的那个实例相关联.因此,在MyFragmentClass中的任何位置,通过调用以下方法检索包:

Bundle bundle = getArguments();
String mDocNum = bundle.getString("DocNum");
Run Code Online (Sandbox Code Playgroud)


hwr*_*kns 5

ft.replace(R.id.fragment_content, fragment, fargmentTag);添加以下行之前:

fragment.setArguments(bundle).