ViewPager Refresh(재생성)하기

Programming/Android 2016. 12. 26. 17:08 Posted by 생각하는로뎅
반응형

1. ViewPager 를 사용하다가, 새로 리플러쉬해서 데이터를 보여주어야하는 상황이 왔다.



2. 리플러쉬를 하기 위해서 데이터 아이템들을 모두 clear 했다.



3. clear 후 새로운 데이터를 넣고, notifyDataSetChanged 해보았지만, 기존 뷰들이 그대로 보이는 현상이 있었다.



4. 이를 해결하고자 ViewPager에 getItemPosition 를 오버라이드 후, POSITION_NONE 을 추가했다.
  POSITION_NONE 는 PagerAdapter의 기본적으로 포함된 상수이다.



  public class ComplimentPagerAdapter extends FragmentStatePagerAdapter



    private ArrayList<ComplimentListBean> complimentList;
    
    ............


    @Override

    public int getItemPosition(Object object) {

        return POSITION_NONE;

    }


    .........



5. ViewPager에 데이터를 담아둔 arrayList를 complimentList.clear() 함수를 호출하니, getItemPosition 이 호출되고, 새롭게 뷰가 생성이 되었다.



반응형