如何将其他片段的list <object>用于另一个片段

时间:2015-07-23 10:15:24

标签: android android-fragments android-fragmentactivity android-listfragment

我有两个片段类:

Mainfragment和subfragment。

我在Mainfragment中有public List<object> l1,我在此列表中添加了项目。

现在我想在子片段中访问此列表l1。

我用过 - subfragment sf = (subfragment) getActivity().getFragmentManager();

但它显示错误。

如何在子片段中访问此List l1?

1 个答案:

答案 0 :(得分:1)

最好让活动对其片段应用更改,而不是直接在它们之间传递值。

您可以通过实现一个界面来实现这一目标:

- 在MainActivity上实现一个接口,比如说带有onQuery(Bundle数据)和onResult(Bundle数据)方法的interfaceListener。

接下来在每个片段的onAttach()内部,实现如下:

public void onAttach(Activity activity) {
    super.onAttach(activity);
    try{
        interfaceListener = (interfaceListener) activity;
     } catch (ClassCastException e) {
        throw new ClassCastException(activity.toString()
                + " must implement interfaceListener"); 
    } 
 } 

通过这种方式,您可以访问subFragment中的MainFragment列表。