일부 프래그먼트가있는 뷰 페이지가 있으며 조각의 UI를 편집해야하는 각 모델 클래스에 대해 각 프래그먼트를 설정합니다. 그 모델 클래스는 FragmentStatePagerAdapter에 그 조각을 추가하기 전에 생성자에서 조각을 설정했습니다. 내 문제는 화면을 회전하거나 시스템에서 응용 프로그램을 종료하고 복원 할 때 시스템에서 조각을 다시 만들고 모델 클래스 인스턴스가 손실된다는 것입니다. 새 FragmentStatePagerAdapter를 설정하더라도 시스템에서 만든 조각이 표시됩니다. 내가 조각의 새로운 인스턴스를 생성하여 뷰 페이지에 넣을 수있는 올바른 방법이 있습니까? 나는 FragmentManager에서 프래그먼트를 제거하고, viewpager에 Adapter를 다시 추가하고, FragmentPagerAdapter 만 FragmentStatePagerAdapter를 변경하고 아무 도움도주지 않을 것이라고 생각했다.뷰 페이지의 조각
일부 자원에서 로더에서로드 모델 클래스와 내 활동 클래스 :
public class WizardPagerAdapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments;
private final int count;
public WizardPagerAdapter(FragmentManager fm, List<Fragment> fragments) {
super(fm);
mFragments = fragments;
count = mFragments.size();
}
@Override
public Fragment getItem(int index) {
return mFragments.get(index);
}
@Override
public int getCount() {
return count;
}
}
화면 방향 변경시 작업이 다시로드되고 있습니까? –
Manifest 파일의 activity 요소에 screenSize를 추가 했습니까? 그것은 화면 회전에서 활동 레크 리 에이션을 방지합니다. 또한 조각 생성자에서 view가 null이 아닌지 확인해야합니다. –
예, 작업이 다시로드되고 onCreateView 및 onResume과 같은 단편 라이프 사이클 메소드가 호출되어 로더가 완료됩니다. 나는 화일에 manifest 파일을 추가하려고하지 않는다. – Billda