2010-08-09 2 views
3

서버에서 데이터를로드하고이를 ArrayAdapter를 사용하여 목록으로 표시하는 활동을 작성 중입니다. 이를 위해 서버에서 모든 데이터를로드하는 동안 진행 대화 상자, 즉로드를 표시하고 있습니다. 그런 다음 핸들러에서 대화 상자를 닫습니다. 내 문제는 내가 방향을 바꿀 때, 모든 데이터가 이미 표시 되었기 때문에 필요하지 않은 진행 대화 상자가 다시 표시된다는 것입니다. 당신이 원하는 시스템을 말할 것이다, 매니페스트 (documentation)에오리 엔테이션이 변경되면 활동을 처리하는 방법?

<activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation"> 

: 어느 쪽이든 당신이없는 방향을 변경할 수 있도록 활동을 강제
:

답변

5

나는 당신이 두 가지 옵션이 말을 오리엔테이션 변경은 혼자서하십시오.이 경우 아무 것도하지 않겠습니다. 하지만 onPause() 및 에 코드를 추가하는 것이 좋습니다. 예를 들어 전화를받을 때 Android에서이 활동이 중단 될 수 있기 때문입니다. 그래서 약간의 절약을 처리해야합니다. 당신의 배경 스레드가 실행 중일 때

은 또는, 당신은 이미 표시되면 대화 상자의 표시를 방지하기 위해 선택하거나. 을 반환하는 AsyncTask.getStatus을 사용할 수 있기 때문에 다운로드 부분에 AsyncTask를 사용하면 쉽습니다. 이미 완료된 상태이면 대화 상자를 취소해야합니다.

+0

는 – Srinivas

+0

내 문제가있다 sephy 감사? OnCreate()에 표시된 진행 대화 상자의 표시를 피하는 방법. 가역 해산 대화. 오리엔테이션이 바뀌었고 다시 활동이 재현되어 대화창이 다시 표시 되었습니까? 그것을 피하는 방법? – Srinivas

+0

그렇다면 asynctask no에서 "finished"상태를 확인해야합니까? – Sephy

관련 문제