首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在片段中使用setArguments()和getArguments()方法?

如何在片段中使用setArguments()和getArguments()方法?
EN

Stack Overflow用户
提问于 2011-03-25 05:10:13
回答 5查看 165.5K关注 0票数 102

我有两个片段:(1)Frag1 (2)Frag2。

Frag1

bundl = new Bundle();
bundl.putStringArrayList("elist", eList);

Frag2 dv = new Frag2();
dv.setArguments(bundl);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.the_fragg,dv);
ft.show(getFragmentManager().findFragmentById(R.id.the_fragg)); 
ft.addToBackStack(null);
ft.commit();

如何在Frag2中获取此数据?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-03-25 06:07:05

您有一个属于Fragment类的名为getArguments()的方法。

票数 26
EN

Stack Overflow用户

发布于 2012-08-21 16:14:58

只需在Frag2onCreateView()方法中调用getArguments()

public class Frag2 extends Fragment {

     public View onCreateView(LayoutInflater inflater,
         ViewGroup containerObject,
         Bundle savedInstanceState){
         //here is your arguments
         Bundle bundle=getArguments(); 

        //here is your list array 
        String[] myStrings=bundle.getStringArray("elist");   
     }
}
票数 193
EN

Stack Overflow用户

发布于 2017-03-27 14:06:53

在Frag1中:

Bundle b = new Bundle();

b.putStringArray("arrayname that use to retrive in frag2",StringArrayObject);

Frag2.setArguments(b);

在Frag2中:

Bundle b = getArguments();

String[] stringArray = b.getStringArray("arrayname that passed in frag1");

就这么简单。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5425568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档