gpt4 book ai didi

java - View 寻呼机内的 fragment 在第一次后不加载数据

转载 作者:行者123 更新时间:2023-11-30 12:07:43 24 4
gpt4 key购买 nike

当我第一次打开 3 个 fragment 中的一个时,我的 View 寻呼机包含 3 个 fragment ,它会在其中加载数据,但是当我转到另一个 fragment 并重新打开旧 fragment 时,数据不会加载。

这是 viewpagerAdapter 的代码:

public class ViewPagerAdapter extends FragmentPagerAdapter {
Context context;

public ViewPagerAdapter(FragmentManager fragmentManager, Context context) {
super(fragmentManager);
this.context = context;
}

/**
* @return the number of pages to display
*/
@Override
public int getCount() {
return 3;
}

// BEGIN_INCLUDE (pageradapter_getpagetitle)

/**
* Return the title of the item at {@code position}. This is important as what this method
* <p>
* Here we construct one using the position value, but for real application the title should
* refer to the item's contents.
*/
@Override
public CharSequence getPageTitle(int position) {
String title = "";
switch (position) {
case 0:
title = "تعلم";
break;
case 1:
title = "الصفحة الرئيسية";
break;
case 2:
title = "التحديات";
break;
}
return title;
}
// END_INCLUDE (pageradapter_getpagetitle)

@Override
public Fragment getItem(int position) {
switch (position) {
case 0:
return new ChallengersFragment();
case 1:
return new HomeFragment();
case 2:
return new ChallengesFragment();
}

return null;
}

}

最佳答案

我通过覆盖 setUserVisibleHint 方法并重新下载其中的数据解决了这个问题。每次 fragment 的可见性发生变化时都会调用此方法。这是代码:

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
presenter.getUserData();
}
}

关于java - View 寻呼机内的 fragment 在第一次后不加载数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54710458/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com