미치겠습니다


1주일삽질했는데 원일을 알수가 없어요 ~ 


ㅠㅠ


소스코드는 대략 이렇습니다

버튼을 클릭할때 약간의 소스 입니다 소스 클릭시 파라미터를 seting 해서 


아답터에게 넘겨 주고 이 아답터 내에서 getItem 을 이용하여 동적인 fragment 를 생성하여 paging 을 하는 방식입니다.


============ button event  ================

Param p = new Param();

p.setCompany_id(code);

p.setDisplay("1");

/** 파라미터를 한곳에서 셋팅하자 **/

mPager = (ViewPager) activity.findViewById(R.id.pager);

mAdapter = new MyAdapter(activity.getSupportFragmentManager() );

if ( mPager.getAdapter() != null){


mAdapter = (MyAdapter) mPager.getAdapter();

mAdapter.getFragments().clear();

mPager.removeAllViews();

mAdapter.notifyDataSetChanged();

}


mAdapter.setParam(p);

mAdapter.setActivity(activity);

mPager.setAdapter(mAdapter);


======================= adapter 부분  =========================  FragmentPagerAdapter 상속받아 구현


public Fragment getItem(int position) {

    

    System.out.println("중간"+param.getCompany_id());

    

    Fragment instance = new MyFragment().newInstance(position,this.param,getActivity());

    

    getFragments().add(instance);

       return instance;

        

    }


다음과 같이 인스턴스를 추가 생성하여 페이징이 첫호출시에는 잘 이루어지는데요.


다른 버튼을 클릭시 첫 소스를 다시 한번 호출하여 새로운 파라미터를 setting 하여 fragment 를 생성하여야 하는데요


이렇게 할시 


기존 처음에 달려있던 fragment 가 사라지지 않고 계속 유지되는 현상입니다.. clear 하고 notify 해도 

해결이 되지 않더라고요.. 

정확히 굼굼한건 getItem 이 어떤 조건일때 호출이 되는지가 가장 굼굼합니다


처음 버튼을 누를시에는 호출이 2번 되지만


다음번에 누를시에는 되지 않는데요.  setItem 의 호출 시기를 아는것도 원인해결이 많은 도움이 될것 같아요 


api 호출 부분은 알려 드릴수가 없으나,


다른 부분에 대해서 첨부 할게요 도와 주세요 .


ㅠㅠ