所以基本上我目前正在处理 4 个 fragment 。我这里有一些奇怪的情况。当应用程序启动时,它在位置 1 上打开 fragment ,然后如果我通过顶部的选项卡导航到 fragment 2, fragment 2 将会更新,然后如果我从 fragment 2 打开 fragment 3 并从 fragment 3 返回到 fragment 2,它也会更新。但如果我选择打开 fragment 4,然后返回 fragment 2,它将不会刷新。这是我调用刷新 fragment 的方法
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
loadEvents();
}
Log.d("TAG", "VISIBLE");
}
在LoadEvents中,很少有recyclerview设置它们的适配器。没什么特别的
最佳答案
我认为这是因为当您调用 fragment 3 并返回 fragment 2 时,您使用 .replace
,而当您转到 fragment 4 时,您使用 .add
并返回 fragment 2 .show
。
查看以下之间的差异:
- 添加
- 替换
- 显示
https://developer.android.com/reference/android/app/FragmentTransaction.html
关于java - Viewpager 中的 fragment 仅在从旁边的 fragment 打开时刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40257330/