【发布时间】:2016-06-11 15:47:31
【问题描述】:
我有一个始终可见的片段。我不明白为什么我应该使用 bundle 将数据从活动传递给它。
这里的大部分问题都推荐这种传递数据的方法:
Bundle bundle=new Bundle();
bundle.putString("name", "From Activity");
Fragmentclass fragobj=new Fragmentclass();
fragobj.setArguments(bundle);
我更喜欢在活动的 OnCreate 函数中创建 Fragment 对象,然后使用该对象显示片段(FragmentTransaction.add)。由于我参考了这个片段,我可以在其中创建 create 函数 showName() 并从这样的活动中调用它:
myFragment.showName("name");
这种方法有什么问题吗?
【问题讨论】:
-
提示:当框架需要重新创建您的片段时会发生什么?
-
我相信,注意 android 生命周期并使用例如reactiveX,@fefero 的建议现在完全有效。另见stackoverflow.com/a/9610048/1870447