在活动内的两个分层片段之间传输数据?

时间:2014-10-18 08:44:15

标签: android android-fragments

我有一个带有项目列表的导航抽屉,然后点击列表项打开 另一个事件列表(使用自定义列表适配器)[第一个片段]。

点击任何一个列表项我想打开一个显示其详细信息的片段[第2片段]。

所以我想将项目点击的位置从第1个碎片转移到第2个碎片, 我有第二个碎片的静态数据,我如何转移该位置?

我试过界面,  但每次我做任何事情我都会在logcat中收到错误,因为第一个片段没有附加到主要活动。

我已经创建了布局(并将它们称为片段),并且没有,因此没有ID可以获得“getFragmentById”中的主要活动。 ?谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用片段中的getActivity()来查找片段所在的FragmentActivity。 然后,您可以使用FragmentActivity.findFragmentByTag()查找此Actvity中的其他片段。 `

答案 1 :(得分:0)

在片段的constructor中传递数据

FragmentManager fm = SliderActivity.this
                .getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();

HomeFragment fragment = new HomeFragment(your_data);
ft.replace(R.id.content_fragment, fragment, getResources()
                .getString(R.string.homeText));
ft.commit();
HomeFragment中的

设置了constructor

的值
HomeFragment(String value){
   this.value=value;
}