大家好,又见面了,我是你们的朋友全栈君。
网络上会提到pageadapter的刷新方案如下代码:
复写pageradapter的getItemPosition方法设置tag为POSITION_NONE意思是没有找到child要求重新加载。
<span style="font-size:18px;">@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
} </span>
String name =makeFragmentName(container.getId(), position);
Fragment fragment =mFragmentManager.findFragmentByTag(name);
if (fragment != null) {
if (DEBUG)Log.v(TAG, "Attaching item #" + position + ": f=" +fragment);
mCurTransaction.attach(fragment);
} else {
fragment =getItem(position);
if (DEBUG)Log.v(TAG, "Adding item #" + position + ": f=" +fragment);
mCurTransaction.add(container.getId(), fragment,
makeFragmentName(container.getId(),position));
}
<span style="font-size:18px;">public voidsetFragments(ArrayList fragments) { if(this.fragments !=null){ FragmentTransaction ft = fm.beginTransaction(); for(Fragment f:this.fragments){ ft.remove(f); } ft.commit(); ft=null; fm.executePendingTransactions(); } this.fragments = fragments; notifyDataSetChanged();}</span>
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/149096.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...