【发布时间】:2015-02-12 23:19:45
【问题描述】:
在我的应用中,我有标签活动(比如说 10 个标签)。每个标签页都包含Fragment 和ListView(此ListView 中显示的数据是从我的服务器动态加载的)。我使用ViewPager来显示这些页面。我不想将所有Fragments 都保留在内存中,所以我决定使用FragmentStatePagerAdapter(我的适配器类扩展了这些类)。
假设选择了第三个选项卡。然后,例如,当我转到第一个选项卡时,应该从头开始创建此选项卡的
Fragment(这很好,这就是FragmentStatePagerAdapter的工作方式)但 无需 恢复此片段的先前状态(例如,ListView不应滚动到上次访问此Fragment时保存的位置 - 现在已滚动)。 所以我的第一个问题是:我怎样才能实现这样的行为?换句话说,我希望我的适配器在从头开始创建时不要恢复Fragmentstate。再一次,假设选择了第三个选项卡。然后,例如,当我转到第二个选项卡时,
Fragmentfor 这个选项卡应该仍在内存中(这很好,这就是FragmentStatePagerAdapter的工作方式),但在这种情况下,我想决定我的ListViewdata 是否应该更新(取决于某些条件)。如何通知Fragment它已被选中?
【问题讨论】:
标签: android android-fragments android-listview android-viewpager fragmentstatepageradapter