0

MainActivity 화면 회전, 다른 활동 등을 표시하는 동안 데이터를 보존하는 데 사용하는 PersistFragment가 있습니다. 대부분의 경우 완벽하게 작동합니다. 다른 활동을 표시 할 수 있으며 MainActivity 등으로 돌아올 때까지 뒤로 버튼을 누르면 모든 것이 올바르게 작동합니다.Android : 영구적 인 조각이 해제 되었습니까?

MainActivity로 바로 건너 뛰기위한이 자식 활동에 대한 버튼이 있습니다.이 기능을 사용하면 PersistFragment가 다시 만들어집니다. 왜? 차이점이 뭐야? PersistFragment가 해제되거나 손실되지 않게하려면 어떻게합니까?

super.onCreate(savedInstanceState); 

FragmentManager fm = getFragmentManager(); 

PersistFragment persistFragment = (PersistFragment) fm.findFragmentByTag(TAG_PERSIST_FRAGMENT); 

if(persistFragment == null) 
{ 
    persistFragment = new PersistFragment(); 
    persistFragment.setRetainInstance(true); 

    fm.beginTransaction().add(persistFragment, TAG_PERSIST_FRAGMENT).commit(); 
    System.out.printf("Created new Fragment!\n"); 
} 

을 그리고 여기 MainActivity 나에게 모든 방법을 다시 걸리는 온 클릭 핸들러 : 여기

코드입니다 (MainActivity,에서 onCreate는())를 PersistFragment가 생성되는

public void onClick(View v) 
{ 
    Intent intent = new Intent(TVActivity.this, MainActivity.class); 
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
    startActivity(intent); 
} 

은 디버그 "Created new Fragment!"가 표시됩니다. PersistFragment가 어떻게 든 출시 된 것처럼 보입니다.

답변

1

if 문에서 persistFragment를 savedInstanceState로 변경해보십시오.

+0

감사하지만 도움이되지 않았습니다. 나는 PersistentFragment를 완전히 버렸습니다. 결국에는 필요가 없었습니다. – SparkyNZ