在我的Android计划中,我有三个Fragments
包裹在ViewPager
中。我有一个ArrayList<MyObject>
填充在onResume()
的{{1}}方法中。如何将MainActivity
从ArrayList<MyObject>
发送给孩子MainActivity
?我想要的是每当应用程序到达前台时,使用Fragments
更新我的片段。
针对这个特定问题有很多解决方案,但它们都不适用于我。我已经尝试使用ArrayList<MyObject>
将参数传递给我的Bundles
。为了测试,我试图将简单的int值传递给子片段:
Fragments
onCreate()
中的MainActivity
:
Bundle bundle = new Bundle();
bundle.putInt("INTEGER",2);
onResume()
的{{1}}:
MainActivity
在Fragment frag = MyFragPageAdapter.getItem(1);
frag.setArguments(bundle);
的{{1}}方法中:
onCreate()
任何人都可以帮助我吗?提前谢谢!
适配器:
Fragment
答案 0 :(得分:0)
在ContactList的构造函数中,尝试放置争论并检查。
Bundle bundle = new Bundle();
bundle.putInt("INTEGER",2);
Fragment frag = MyFragPageAdapter.getItem(1);
frag.setArguments(bundle);
答案 1 :(得分:0)
首先让你的arraylist对象“Serializable”
大于
片段A中的
theName
片段B中的
全球解体
String TabOfFragmentB = ((AndroidViewPagerActivity)getActivity()).getTabFragmentB();
MyFragmentB fragmentB = (MyFragmentB)getActivity()
.getSupportFragmentManager()
.findFragmentByTag(TabOfFragmentB);
fragmentB.sendData(yourArraylist<Object>);
在onCreateView之外
private void myResultedData= null;
在onCreateView
中使用“myResultedData”了解更多详细信息并了解视图分页器片段之间的通信概念,请参阅link