問題はほぼthis postと同じですが、そこの解決策で問題が解決されませんでした。ViewPager PageAdapterが更新されていません。
FragmentPagerAdapter
をList
とし、以下に示すようにFragment
を使用します。
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方法を使用する場合(POSITION_NONE
を返すようにint getItemPosition(Object object)
をオーバーライドする)、私はnotifyDataSetChanged()
を呼び出した後 java.util.ConcurrentModificationException
を取得します。
メソッドの呼び出しフローは、次のとおりです。
ViewPager
ページインデックス1で、ダイアログを閉じた後に- (
onAuthSucceed
)(FacebookのAndroidの例ではLoginButton
としてちょうど同じ)Button
は、ViewPager
ページインデックスを削除]をクリック経由Dialog
を開いて1とし、私は前Fragment
を除去するための他の多くの方法を試してみたnotifyDataSetChanged
を使用してページインデックス1
Fragment
を追加しますが、ページは新しいコンテンツに更新されません。 私はちょうど...ページが空白にする一つの方法を見つけ
viewpager.removeViewAt(1);
viewpagerAdapter.removeItem(1);
viewpagerAdapter.addItem(1, new Fragment(...));
どちらの更新に問題があるか、java.util.ConcurrentModificationException
を解決することは素晴らしいことです。あなたの助けてくれてありがとう:
こんにちは。その問題の解決策を見つけることができますか?私はまったく同じ問題を抱えていますが、私のために何か解決策を見つけることができません:(何か働いていれば助けてください!ありがとう:) –
いいえ、問題は解決しませんでした。 –