2011-08-02 5 views
1

Activity에 내부 클래스로 두 개의 AsyncTasks이 있습니다. 하나는 doInBackgroundArrayList을 반환하고 postExecute에는 ListAdapter을 표시합니다. 다른 AsyncTaskStringArray을 반환하고 일부는 TextViews으로 설정합니다.AsyncTask doInBackground에서 변수 저장

회전시 모든 사항이 사라지고 회전시에도 레이아웃이 변경됩니다.

doInBackground- 방법의 결과에 액세스하고 싶습니다. 액세스 권한이 있다면 변수를 onSaveInstanceState에 저장하고 수동으로 값을 다시 지정할 수 있습니다.

+0

당신이'Service'에'AsyncTask' 관리를 분리 단지'Activity'에서'Service' 이야기 생각 해 봤나 :

간단하게 당신의 클래스를 변경? – blueadept

+0

전혀 아닙니다. 나는 서비스를 들여다 보지 않고 차라리 내 작업 코드를 유지하고 전체 설정을 변경하는 대신 문제를 해결했습니다. – Diemex

답변

3

당신은 onPostExecutedoInBackground의 결과에 액세스 할 수 있습니다.

public class YourTask extends AsyncTask<Void, Void, ObjectYouWantToReturn> { 

    @Override 
    protected ObjectYouWantToReturn doInBackground(Beneficiary... params) {   
     ObjectYouWantToReturn obj = new ObjectYouWantToReturn(); 
     //... do your stuff 
     return obj; 
    } 

    @Override 
    protected void onPostExecute(ObjectYouWantToReturn result) { 
     //there you go, here you have the results from doInBackground 
    } 
} 
+1

Thats 너무 간단해서 실제로 그것에 대해 생각하지 않았습니다. 감사합니다. – Diemex