我有这个应用程序
显示歌曲列表(第一个标签),视频列表以及收藏夹,音频和视频列表。
当我更新-add或删除 - 收藏夹中的视频时...如果我直接传递到收藏夹选项卡,则ListView不会刷新。
只有当我转到第一个标签-Audio-然后转到第三个标签时,ListView才会更新 - 收藏 - 。
详细说明:
在不转到第一个标签的情况下更新“收藏夹”标签需要做什么?
答案 0 :(得分:1)
这是因为片段是与您的活动同时创建的,具体取决于某些参数,当您导航到第一个选项卡时,第三个片段的布局会更新,因为视图寻呼机会将页面保持在屏幕外的空闲状态每边的默认值为1,您可以使用以下方式设置值:
mViewPager.setOffscreenPageLimit(value_that_you_want); //can't be less than 1
值 1 :
的示例你有3个片段A - B - C.
主要问题
要刷新第三个而不返回第一个,您将为viewPager实现pageChangeListener并在侦听器中更新您想要的内容
mViewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
if(position == 2){ // your third fragment are at position 2
// update your UI here
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
选择第三个片段后,代码将被执行