好的,問題與this post幾乎相同,但是那裏的解決方案並沒有解決我的問題。ViewPager PageAdapter not updating查看
我使用FragmentPagerAdapter
而List
保持Fragment
s如下所示。
public class ViewPageAdapter extends FragmentPagerAdapter {
private List<Fragment> fragments;
public ViewPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
this.fragments = fragments;
}
@Override
public Fragment getItem(int position) {
return fragments.get(position);
}
@Override
public int getCount() {
return fragments.size();
}
...
}
而我的Fragment
覆蓋了onCreateView方法。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
return inflater.inflate(theLayoutResourceId, container, false);
}
如果使用this post方法(重寫int getItemPosition(Object object)
返回POSITION_NONE
),我會打電話notifyDataSetChanged()
後得到 java.util.ConcurrentModificationException
。
方法調用流程就像這樣。
- 在
ViewPager
頁索引1,通過點擊一個Button
(恰好在相同Facebook的Android的示例的LoginButton
) - 對話框關閉後(
onAuthSucceed
),除去ViewPager
頁索引打開Dialog
1和和添加另一頁是頁索引1 - 使用
notifyDataSetChanged
我試過很多其他方法強制更新刪除Fragment
前將Fragment
添加到適配器,但該頁面不會更新到新內容。
我只是找到了一個方法,使頁面空白...
viewpager.removeViewAt(1);
viewpagerAdapter.removeItem(1);
viewpagerAdapter.addItem(1, new Fragment(...));
無論是解決問題的更新或java.util.ConcurrentModificationException
將是巨大的。感謝您的幫助:)
你好。你能找到解決這個問題的辦法嗎?我有完全相同的問題,但找不到任何工作解決方案:(請幫助,如果你有一些工作!謝謝:) –
不,我沒有解決問題,無論是。 –