AsyncTask Сохранить переменные из doInBackground - PullRequest
1 голос
/ 02 августа 2011

У меня есть два AsyncTasks как внутренние классы в моем Activity. Один возвращает ArrayList в doInBackground и присваивает ему ListAdapter в postExecute. Другой AsyncTask возвращает StringArray и устанавливает TextViews.

На Вращении все пропало, также меняется расположение на Вращении.

Я бы хотел получить доступ к результатам doInBackground -методов. Если бы у меня был доступ, я мог бы просто сохранить переменные в onSaveInstanceState и переназначить значения вручную.

Ответы [ 2 ]

3 голосов
/ 02 августа 2011

Вы можете получить доступ к результатам doInBackground в onPostExecute.

Просто измените свой класс на:

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
    }
}
0 голосов
/ 02 августа 2011

Общие предпочтения - это решение вашей проблемы, я думаю.

изменить ссылку, приведенную ниже.

http://developer.android.com/guide/topics/data/data-storage.html#pref

http://thedevelopersinfo.com/2009/11/25/getting-sharedpreferences-from-other-application-in-android/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...