无法将数据从MainActivity传递到ViewPager Fragments

时间:2015-06-01 11:03:49

标签: java android android-fragments arraylist android-lifecycle

在我的Android计划中,我有三个Fragments包裹在ViewPager中。我有一个ArrayList<MyObject>填充在onResume()的{​​{1}}方法中。如何将MainActivityArrayList<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

2 个答案:

答案 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