2017-04-15 1 views
1

이 주제에 대한 많은 스레드를 읽었지만 아무 것도 도움이되지 않습니다. 내 코드를 게시 할수 없어,하지만 난 내 상황을 설명하려고 :onsaveinstancestate 후에 IllegalStateException이 수행 할 수 없음

미안는 IllegalStateException이 점점 : 측정 DrawerLayout/탐색 내가 활동 홈페이지를 onSaveInstanceState

후이 작업을 (수행 할 수 없습니다 서랍). 이 활동에서 항상 1 조각입니다. 처음에는 WelcomePage가 있습니다.

사용자가 조각을 클릭하면 새로운 조각으로 바뀝니다 (FootballClubs라고 부름). 이 단편은 ViewPager를 포함하고 있으므로 다중 페이지로 구성됩니다. 각 페이지는 단편 FootballClub입니다. (따라서 FootballClub은 FootballClub 한 장으로 구성된 여러 페이지로 구성됩니다.) 각 FootballClub에는 사용자가 클릭 할 수있는 버튼이 있습니다. 클릭하면 새 조각이 열립니다 (저는 NewFragment라고 부릅니다).

처음에는 모든 것이 정상이며 아무런 예외도 발생하지 않습니다. 새로운 조각이 예외없이 올바르게 표시 될 때마다 가능한 한 자주 단추를 클릭 할 수 있으며 onBackPressed는 ViewPager로 FootballClubs로 돌아갑니다. 그러나 스마트 폰을 돌리면 화면 방향이 적어도 한 번 이상 바뀌 었습니다. 버튼을 클릭하여 새 단편을 열려면 예외가 발생합니다 (어떤 단편을 표시하고 싶은지).

IllegalStateException : 수행 할 수 없습니다. onSaveInstanceState

후의 동작이 코드로 프래그먼트 WelcomePage/FootballClubs/NewFragment 대체 :

예외가) (transaction.commit에 슬로우
protected void replaceSubfragment(int containerID, Fragment newFragment) { 
     FragmentTransaction transaction = getSupportFragmentManager().beginTransaction(); 
     transaction.replace(containerID, newFragment); 
     transaction.commit(); 
} 

; 내가) ( transaction.commit를 교체 할 경우

  • ; containerID은 항상 몇 가지 추가 정보 같은 (활동 레이아웃 FrameLayout이)

    입니다 with transaction.commitAllowingStateLoss(); 예외가 발생했습니다 : IllegalStateException : 작업이 삭제되었습니다. (정확히 클릭해도 동일한 작업을 수행합니다)

  • 모든 조각이 내 FragmentActivity 클래스 Main에서 바뀝니다. 버튼을 클릭하면 SectionPage의 Subclass가 발견되고 FragmentActivity에서 청취자를 호출하여 FragmentActivity가 단편을 바꿀 수 있습니다 (BaseActivity는 청취자에게 FootballClubs 단편을 제공하고 SectionPage의 Subclass로 넘김)

  • 저는 FragmentActivity에서 단편을 대체하기 때문에 getChildFragmentManager()를 사용하지 않습니다. (지금까지 내가 기억할 수있는 한 이것도 작동하지 않았다)

  • 오리엔테이션이 변경되면 활동이 파괴되고 다시 생성되지만이 정보로는 아무 것도 할 수 없다는 것을 안다. 전체 앱 내가 버튼을 대신 NewFragment의 대화 상자를 표시하려면이 버튼을 제외하고 완벽하게 작동하는

  • 내 FragmentActivity에서 IllegalStateException가 너무

  • 가져 오기를 클릭, 나는 변수 activeModule있다; 여기에서 activeModule.isAdded()를 확인할 수 있습니다. 예외가 발생하면 isAdded()는 false를 반환합니다.오류가 발생 될 경우 그래서 확인하실 수 있습니다 여부를

나는 내 문제를 설명 할 수 있기를 바랍니다. 화면 방향은 모든 것을 망가 뜨 렸습니다. 이유는 알 수 없습니다. 추가 정보가 필요하면 .. 제발 .. 어쩌면 코드 조각이 필요할 수도 있습니다.

감사합니다.

답변

0

나는 예외가 ViewPager 때문이라고 확신하지만 해결책을 찾지 못했습니다.

Finnally, 나는 'NewFragment'를 호출하지 않는 좋은 방법을 발견했다. 지금 나는이 예외를 얻지 못한다. 더 이상 대답 할 필요가 없습니다.

관련 문제