2011-08-02 1 views
1

私はActivityに内部クラスとして2つのAsyncTasksを持っています。 1つはにArrayListを返し、postExecuteにはListAdapterと表示されます。他のAsyncTaskStringArrayを返し、一部をTextViewsに設定します。AsyncTask変数をdoInBackgroundから保存する

回転するとすべてが消え、回転のレイアウトも変わります。

doInBackgroundの方法にアクセスしたいと思います。私がアクセスした場合は、変数をonSaveInstanceStateに保存して手動で値を再割り当てすることができます。

+0

単にあなたのクラスを変更? – blueadept

+0

私はサービスを見ていないと私はむしろ私の作業コードで滞在し、全体の設定を変更する代わりにそれを修正します – Diemex

答えて

3

あなたはonPostExecutedoInBackgroundの結果にアクセスすることができます。あなたは `Service`に` AsyncTask`管理を分離し、ちょうど `Activity`から` Service`に話して考えがあり

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

それは本当にそれについて考えていないので、シンプルなので、ありがとう – Diemex

関連する問題