먼저 모든 솔루션을 사용할 수있게 시도했지만 여전히이 질문에 대한 대답을 얻지 못합니다.조각을 바꿀 때 데이터를 저장하는 방법
필자는 ViewPager를 채울 수있는 조각이 거의없는 Activity를 가지고 있는데, 이는 viewPager를 채우는 방식입니다.
fragment = getSupportFragmentManager();
fragment.beginTransaction()
.replace(R.id.homepageVp, newFrag)
.addToBackStack(null)
.commit();
suppouse이 조각 A는 내가 조각 B는 여기에 위의 코드를 사용하고로 교체하는 것이 내 질문에, 그것은 조각 B에 조각 A로부터 이동하고 위의 코드 사용하여 다시 조각 A와 이동할 수 있습니다 이전 교체 (첫 번째)의 데이터가 여전히 포함되어 있습니다. 내가 조각, 안쪽
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString(VAR_KEY, jsonResult);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
jsonResult = savedInstanceState.getString(VAR_KEY);
}
사용하려고했습니다
, 이것은 onSaveInstanceState 내 활동이 다시 onActivityCreated가 실행될 때 생성 될 때 나중에 너무 jsonResult 변수를 저장하고로 이전 값을 넣어 실행하는 것이 나의 이해이다 jsonResult 변수. 그러나 그 didnt 일, 그래서 아마도 내가 만든 실수, 또는 올바르지 않은 Fragment LifeCycle에 대한 나의 이해가 있습니다.
왜 당신은 JSON 어디서나 액세스를 저장하는 싱글 톤 클래스를 생성? –
onActivityCreated 대신 onCreateView를 사용해 보셨습니까? – phpdroid