마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

FragmentPagerAdapter 질문입니다.

0 추천
public class ImagePagerAdapter extends FragmentPagerAdapter {

    Context context;
    KeyTagImageFragment keyTagImageFragment;
    ArrayList<KeyTagImageItem> keyTagImageItems;

    ImagePagerAdapter(KeyTagImageFragment keyTagImageFragment, ArrayList<KeyTagImageItem> keyTagImageItems){
        super(keyTagImageFragment.getFragmentManager());
        context = keyTagImageFragment.getActivity();
        this.keyTagImageFragment = keyTagImageFragment;
        this.keyTagImageItems = keyTagImageItems;
    }

    @Override
    public int getCount() {
        return keyTagImageItems.size();
    }

    @Override
    public int getItemPosition(Object object) {
        return POSITION_NONE;
    }

    @Override
    public Fragment getItem(int position) {
        return new ImagePagerFragment(keyTagImageItems.get(position));
    }


    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        ImagePagerFragment fragment = (ImagePagerFragment) super.instantiateItem(container, position);
        fragment.keyTagImageItem = keyTagImageItems.get(position);
        return fragment;
    }
}

 

위와같이 코드가 짜여져있습니다.

근데 로그를 찍어보면요 가끔씩 instantiateItem을 호출은하는데 프래그먼트를 재생성 안하는경우들이 생깁니다.

그 경우는 처음에 프래그먼트에 들어갈 아이템을 정해주고

한번 바꾸게되면 바뀐 아이템으로 잘 적용되다가 마지막부분에 프래그먼트들이 재생성이 안되는데요

혹시 이유를 알 수있을까요??

 

 

정에약한마음 (1,160 포인트) 님이 2017년 11월 13일 질문

1개의 답변

0 추천
재 생성이라면 리프레쉬 말씀 이신가요 ?
쿵뿌팬더 (3,440 포인트) 님이 2017년 11월 14일 답변
아뇨아뇨 리프레쉬보다는 그 뷰페이저로 옆으로 드래그해서 계속 넘기는거요 옆으로 넘길때마다 해당페이지가 아닌 그 옆에있는 페이지를 재생성하잖아요 그때 재생성이 안되더라구요
http://itpangpang.xyz/284
참고하세요
...