2012-03-11 1 views
0

여기 있습니다. MapActivity가 시작된 후 오랜 시간이 걸릴 필요가 있습니다.지도에 추가 할 GeoPoint가 많이 있습니다. 모든 것은 정상적으로 작동하지만 ProgressDialog를 표시하려면 AsyncTask가 백그라운드에서 작업을 수행하므로 사용자는 실제로 몇 초 안에 문제가 발생한다는 것을 실제로 알고 있습니다. ProgressDialog가 살아있는 동안 전화를 돌릴 때까지 모든 것이 잘 돌아갑니다. 아무런 문제가 없다고 생각했는데 이미 다른 액티비티에서이 작업을 처리 했으므로 AsyncTask에 액티비티를 전달하면 대화 상자가 표시되기 전에 다음 행을 호출하므로 대화를 표시하는 컨텍스트가 생기지 않습니다. 내 대화 상자가 기각 된 후MapActivity에서 오리엔테이션 변경을 비활성화하는 방법

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); 

을 ... 난 그냥이 줄을 호출합니다 : : 따라서 가까운 힘을 생산 조기에 파괴 얻을

activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR); 

... 그래서 사용자는 다시 자신의 휴대 전화를 회전 할 수 있습니다 . 여기에 내 문제가 온다 : 그냥 MapActivity에서 작동하지 않습니다, 그것은 NOSENSOR 라인에서 NullPointerException을 생성합니다. MapActivities에서 회전을 일시적으로 사용 중지하는 다른 방법이 있습니까? 나는 모든 것을 "초상화"로 고칠 수도 있지만, 내가 더 잘할 수 있다면, 내가하고 싶은 것이 아니다.

건배

답변

0

자신을 (방향 변경과 같은) 처리하십시오. 이것을 매니페스트에 추가하십시오.

android:configChanges="orientation|keyboardHidden" 

액티비티 태그에 추가하십시오.

그런 다음

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

} 
+0

사람이 1 개 라인 솔루션을 가지고 올 수 없다면 그것은,이 방법을 악을 생각 사용자의 작업에 다음과 같은 방법을 넣어 이러한 설정 변경을 처리 할 수있는 내가 언급 한 것과 같은 :) – hundeva