데이터를 저장하는 데 사용하는 Singleton Data 클래스가 있습니다. 다른 Fragment
에서 액세스하고 있습니다.싱글 톤을 사용하는 OnSaveInstanceState
첫 번째 Fragment
이로드되면 싱글 톤의 모든 입력란은 null
입니다. 두 번째 Fragment
이 표시되면이 필드에 따라 데이터가 표시됩니다. 첫 번째 Fragment
은 이러한 필드가 초기화되도록합니다. 사용자가 두 번째 Fragment
에서 홈 버튼을 누르면, 이후 한 시간과 같이 다시 열립니다 그러나
, 싱글 톤은 모든 데이터를 잃은하고 Fragment
는 null
필드에 액세스하려고합니다.
onSaveInstanceState
메서드를 구현하고 싶었지만 어떻게 작동하는지 잘 모르겠습니다. 할당 할 데이터의 인스턴스가 없습니다.
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putSerializable("DATA", Data.getInstance());
}
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
savedInstanceState.getSerializable("DATA"); //What to do with this?
}
도움이됩니다.
: 당신이 다음 할 수있는 당신의 조각 ... 그렇지 않으면
, 당신은 당신의 싱글 톤 객체 직렬화 및 역 직렬화 할 수있는 구성원 개체를 관리 할 수 있습니다 그러나 왜 싱글 톤이 모든 데이터를 잃을 지 이해할 수는 없습니까? 응용 프로그램이 백그라운드에서 계속 실행되고 있습니까? 그렇지 않습니다. 내 응용 프로그램에서 동일한 패러다임을 사용하고이 데이터 손실을 보지 못했습니다. – Aviral
이 문제가 발생했습니다. – nhaarman
흥미 롭습니다! 싱글 톤의 데이터가 왜 사라지는지 알고 싶다면 게시하십시오. 이것은 나를 염려하게한다. 감사. – Aviral