Maison > Questions et réponses > le corps du texte
遇到问题:将4个Fragment中的数据保存到一个Bundle中,在第一个页面从不可见进入可见状态时,从Bundle中成功获取到数据并执行settext,问题来了。从第二个页面返回页面一时 一切正常,但是从页面三、四再返回页面一,数据获取到了、settext语句也正常执行,但是没有任何显示。
/**
* 重新进入本页面重新加载数据以供修改
*
* @param isVisibleToUser
*/
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser && intoFlag > 1) {
Bundle bundle = getAddInfo();
infotype_frag_baseinfo.setRightTvv(bundle.getString(Constant.TYPEID));// 信息类型
DebugLogUtil.getInstance().Debug(getSimpleClassName() + "可见");
} else {
DebugLogUtil.getInstance().Debug(getSimpleClassName() + "不可见");
intoFlag++;
}
}
PHP中文网2017-04-17 18:00:45
En fait, cela dépend du Adapter
que vous utilisez
FragmentPagerAdapter enregistrera toujours Fragment
en mémoire. Il est recommandé d'utiliser Fragmnet
FragmentStatePagerAdapter enregistre uniquement le Fragment
Le nombre de précharges pour Fragment
peut être défini via setOffscreenPageLimit(int count)
高洛峰2017-04-17 18:00:45
Transmettez Viewpager.setOffscreenPageLimit(int count); pour transmettre le nombre de fragments qui doivent mettre en cache la vue pour répondre à la nécessité de mettre en cache toutes les données de fragment. Les codes d’illustration ne sont plus utilisés.