我的代码中有以下几行
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.fragment_content, fragment, fargmentTag);
Run Code Online (Sandbox Code Playgroud)
现在我想在我的片段中添加一个包.我怎样才能做到这一点 ?
试试这个:
在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)
在ft.replace(R.id.fragment_content, fragment, fargmentTag);添加以下行之前:
fragment.setArguments(bundle).
| 归档时间: |
|
| 查看次数: |
6321 次 |
| 最近记录: |