2012-03-14 10 views
1

안드로이드 3.0에 태블릿 응용 프로그램을 만들고 있는데 태블릿의 방향에 관계없이 항상 가로로 표시해야합니다. 시작시 사용자에게 대화 상자가 나타납니다. 태블릿이 가로로 고정되고 세로로 회전하여 잠금이 해제되면 앱이 충돌합니다. 나는이 문제가 "View not attached window manager"라는 메시지와 함께 IllegalStateException이라는 것을 발견했다.태블릿 응용 프로그램이 방향 변경시 충돌합니다

android:configChanges="orientation" 

을하고 활동에 추가 : 나는 응용 프로그램 태그에 매니페스트에 추가 한

public void onConfigurationChange() {} 

오류가 Dialog.dismiss에()를 발생합니다.

추가 정보가 필요하면 알려주세요. 미리 감사드립니다.

+0

무슨 정확하게 오류 :

이 도움이 되셨습니까? – waqaslam

+0

는'public void onConfigurationChange()'에 코드를 붙여 넣습니다. – waqaslam

+0

변경 사항이 없어야하므로 onConfigurationChange 메소드가 비어 있습니다. – cren90

답변

0

좋아, 그럼 우리가 문제를 해결했습니다. 테스트중인 타블렛이 실행 중입니다. 3.2. 3.2에서 android : configChanges 속성은 매니페스트 응용 프로그램 태그 내에 화면 크기

android:configChanges="orientation|screenSize" 

을 포함해야합니다. How do I disable orientation change on Android?

3

귀하의 onConfigurationChange 방법을 비워서는 안됩니다. 또한 수퍼 메서드를 호출해야합니다. 이처럼 쓰기 :

@Override 
public void onConfigurationChanged(Configuration newConfig) { 
    super.onConfigurationChanged(newConfig); 

    //your optional code 
} 
+0

변경 사항이 없어야하므로 onStart 코드를 반복해야합니까? – cren90

+0

아니요, 그렇게 생각하지 않습니다. onConfigurationChanged에서 ** super ** 메소드로 – waqaslam

2

시도가 public void onPause() 또는 protected void onSaveInstanceState(Bundle outState) 방법으로 대화 상자를 기각.

오리엔테이션 변경시 활동이 다시 작성되면 부모에게 첨부되지 않은 대화 상자를 닫으려는 경우 예외가 발생하기 때문에 예외가 발생합니다.

관련 문제