프래그먼트 수명주기가 백 스택의 조각 간 전환과 어떤 관련이 있는지 이해하는 데 어려움을 겪고 있습니다. 제 질문이 여러 가지 오해를 드러내는 경우 저와 함께 견뎌주십시오. 나의 조각은 아이 뷰를 가지고,조각을 전환 할 때 어떻게 자식보기의 상태를 유지할 수 있습니까?
public class SomeFragment extends Fragment {
private SomeCustomView customView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.some_fragment, container, false);
return view;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
// Create the child view
customView = (SomeCustomView) getView().findViewById(R.id.some_fragment_child_view);
customView.initializeMyCustomView();
}
}
당신이 볼 수 있듯이 :
여기 내 코드입니다. 하위보기는 맞춤보기입니다. 여기서 코드의이 단편은 다시 스택에 첨가하고 나중에 복원마다
public class SomeCustomView extends SurfaceView implements SurfaceHolder.Callback {
private boolean aVariableWhichMustPersistForLifetimeOfApplication;
}
가 가변 customView
가 재현되고, 그래서 aVariableWhichMustPersistForLifetimeOfApplication
값을 느슨하게. 이것은 나를 위해 모든 종류의 문제를 만들고 있습니다.
Activity
SomeCustomView
만 표시되고 조각이없는 응용 프로그램이 시작되었습니다. 이제는 기능을 추가해야하므로 사용자 정의보기가 조각으로 바뀌므로이 문제가 발생합니다.
감사합니다. SharedPrefs를 사용하기에는 실제 클래스에 너무 많은 속성이 있습니다. 내가 정말로 원했던 것은'View'가 결코 파괴되지 않는 것이었기 때문에 그렇게 할 수있는 방법을 찾았습니다. – John