내 사용자 정의보기에서 복원하지 않을 경우 새 인스턴스를 복원하거나 만들려는 필드가 있습니다. 놀랍게도 내가보기가 복원됩니다 여부를 확인 할 수 있습니다 사용자 정의보기 내부의 체크가 있다고뷰 상태 복원 여부를 결정하는 방법
Examle 클래스
class MyView extends View {
private Calendar calendar;
public MyView(Context context) {
super(context);
if(!restoring())
calendar = Calendar.getInstance();
}
@Nullable
@Override
protected Parcelable onSaveInstanceState() {
Bundle b = new Bundle();
b.putParcelable("state", super.onSaveInstanceState());
b.putLong("calendar", calendar.getTimeInMillis());
return b;
}
@Override
protected void onRestoreInstanceState(Parcelable state) {
if (state instanceof Bundle) {
Bundle b = ((Bundle) state);
super.onRestoreInstanceState(b.getParcelable("state"));
calendar = Calendar.getInstance();
calendar.setTimeInMillis(b.getLong("calendar"));
}
}
}
에 대한 답변을 찾지 못 하셨나요? Activity
에서
는 Bundle savedInstanceState
내가 정적 부울을 생각 onCreate()
에 전달하지만 갈 방법이 아니다 있습니다.
내 논리를 재구성해야하기 때문에 불행합니다. 설명 주셔서 감사합니다. – Tuby