showrag() 및 add() 메서드를 사용하여 시도한 대화 상자 조각을 작업 중에 표시하고 있습니다. 코드가 나는 위의 코드에서 때때로 IllegalStateException이 오류가getSupportFragmentManager가 호환 라이브러리에서 실패했습니다.
HelpDialogFragment hdf = HelpDialogFragment.newInstance();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.add(hdf, "dialog");
ft.commit(); #crash here
아래에 주어진, 충돌 로그는 더
java.lang.IllegalStateException: Activity has been destroyed
at android.support.v4.app.FragmentManagerImpl.enqueueAction(FragmentManager.java:1329)
at android.support.v4.app.BackStackRecord.commitInternal(BackStackRecord.java:548)
at android.support.v4.app.BackStackRecord.commit(BackStackRecord.java:532)
at com.delight.activities.HomeActivity.showHelp(HomeActivity.java:311)
라인 아래에 주어진다. HomeActivity.java의 311은 위의 코드에서 언급 한 ft.commit()
입니다. 필자의 활동은 FragmentActivity를 호환성 라이브러리 (날짜로 업데이트 됨)에서 확장합니다. show()
메서드를 사용하면 같은 충돌이 발생합니다.
HelpDialogFragment hdf = HelpDialogFragment.newInstance();
hdf.show(getSupportFragmentManager(), "dialog"); #same crash here
그래서 내가
getSupportFragmentManager()
나에게 문제를 일으키는 결론에 도달, 내가 이해하지 못하는 것은 코드의 어떤 부분에서 내가 늘어나는만큼, 파괴 된 활동을 사용하고 있다는 것입니다
getSupportFragmentManager()
님이 나와있는 활동에 대한 관리자를 보내 주어야한다고 이해하십시오.
이 문제를 해결하는 데 도움이 필요합니다.
활동 코드를 게시 할 수 있습니까? – biegleux
'Activity'의'onCreate()'에서 첫 문장으로'super.onCreate (savedInstanceState);를 호출 했나요? – biegleux
네, 전화 했어요. –