我有一个主要活动,它从数据库中读取类别列表并将它们显示在 ListView 中。
单击一个会打开第二个 FragmentActivity,它会在另一个列表中显示该类别中的所有项目。这是通过 Fragment 和 FragmentPagerAdapter 实现的,以允许在类别中滑动。
我的问题是我需要访问片段的 OnCreateView 中的类别数组,以便确定我应该为给定页面显示哪个类别。我遇到的每个寻呼机示例要么只显示例如'page #1',要么将数据存储在片段中的静态数组中。
目前,我是:
- 遍历主要活动中的光标并将类别存储在数组中;
- 将该数组作为意图中的额外数据传递给第二个活动
- 提取第二个活动中的额外数据并将其存储在类数组中;
- 在返回数组的活动中添加函数 getCategories;
- 在 Fragment 的 OnCreateView 中,调用 getActivity().getCategories() 获取数组
这似乎有点啰嗦,我相信一定有更好的方法来做到这一点。是否有更好的数据传递方式,或者其他访问数据库的方式,所以我只需要读取一次,但可以从主要活动和片段访问数据?