그래, 문제는 this post과 거의 동일하지만 거기에 대한 해결책은 내 문제를 해결하지 못했습니다.ViewPager PageAdapter가 업데이트되지 않음보기
나는 아래와 같이 Fragment
을 가지고 List
을 가지고 FragmentPagerAdapter
을 사용합니다.
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);
}
(POSITION_NONE
을 반환 int getItemPosition(Object object)
를 오버라이드 (override)) this post의 방법을 사용하여, 나는 notifyDataSetChanged()
를 호출 한 후 java.util.ConcurrentModificationException
를 얻을 수 있습니다합니다.
메서드 호출 흐름은 다음과 같습니다.
ViewPager
페이지 인덱스 1에서, 대화 상자가 닫힌 후- (
onAuthSucceed
) (페이스 북 안드로이드 예에서LoginButton
처럼 같은)을Button
이ViewPager
페이지 인덱스를 제거 클릭을 통해Dialog
를 열고 1과 1 - 이
notifyDataSetChanged
내가 해봤 많은 다른 방법을 사용하여 강제 업데이트는 Fragment
전에 제거 페이지 지수에게로 또 다른 페이지를 추가 Fragment
을 어댑터에 추가하지만 페이지가 새 내용으로 업데이트되지 않습니다.
...
viewpager.removeViewAt(1);
viewpagerAdapter.removeItem(1);
viewpagerAdapter.addItem(1, new Fragment(...));
어느 업데이트 문제 또는
java.util.ConcurrentModificationException
를 해결하는 것은 좋은 것입니다. 도와 줘서 고마워.
안녕하세요. 그 문제에 대한 해결책을 찾을 수 있습니까? 나도 똑같은 문제가 있지만 나를 위해 일하는 해결책을 찾지 못한다. (도움이 될만한 일이 있다면!) 감사합니다. –
아니요, 문제를 해결하지 못했습니다. –