我在FragmentTabHost
中有两个标签 - 我的问题是如何将数据传递到所选的片段?
这是我的代码:
mTabHost.addTab(mTabHost.newTabSpec("clips").setIndicator(("Clips")),
MyClipsFragment.class, null);
mTabHost.addTab(mTabHost.newTabSpec("clipboards").setIndicator("Clipboards"),
FragmentSearchMyClipboards.class, null);
答案 0 :(得分:1)
(3ed参数)
Bundle myBundle = new Bundle()
myBundle.putInt("paramKey", 1);
mTabHost.addTab(mTabHost.newTabSpec("clips").setIndicator(("Clips")),
MyClipsFragment.class, myBundle);
答案 1 :(得分:0)
实际上问题归结为两个片段之间的通信。唯一的方法是通过同时包含fragment
的活动。这可以通过在两个片段中声明一个接口并在活动中实现它们来完成。试着阅读http://developer.android.com/training/basics/fragments/communicating.html
答案 2 :(得分:0)
通过片段进行通信的最简单方法是使用EventBus - https://github.com/greenrobot/EventBus
方法文档: 1.将这些行添加到需要获取信息的片段中:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
EventBus.getDefault().register(this);
return inflater.inflate(R.layout.event_list, container, false);
}
@Override
public void onDestroyView() {
super.onDestroyView();
EventBus.getDefault().unregister(this);
}
public void onEventMainThread(EventBusMsg bus) { //Name your method like this
//here you get the info...
}
2。从任何地方发布信息,如下:
EventBus.getDefault().post(new EventBusMsg(true));
制作要发布的对象的类:
public class EventBusMsg {
//一些信息...... }