2015-01-29 2 views
-1

У меня есть приложение для Android, использующее AsyncTask в одном действии. Оно работает. Поэтому, если я пытаюсь повернуть смартфон, когда задача запущена, скрывается скрытый прогресс и AsyncTask. Теперь я знаю, чтобы исправить эту проблему, я должен реализовать этот два метода.Как сохранить состояние AsyncTask при преобразовании устройства?

protected void onSaveInstanceState(Bundle outState) {} 
protected void onRestoreInstanceState(Bundle savedInstanceState) 

Но я не знаю, как сохранить состояние моей AsyncTask.

Это код:

protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_login); 
     apriConnessioneDB(); 
     //recupero le impostazioni dell utenza 
     Impostazioni impostazioni = db.getImpostazioni(); 
     if(impostazioni!=null){ 
      dialog = ProgressDialog.show(
        this, 
        "Login", 
        "Verifica dati in corso."); 
      syncLogin = new SyncLogin(); 
      syncLogin.setDialog(dialog); 
      syncLogin.setCt(this); 
      syncLogin.setDb(db); 
      syncLogin.setUsername(impostazioni.getUsername()); 
      syncLogin.setPassword(impostazioni.getPassword()); 
      //syncLogin.setCt(this.getApplicationContext()); 
      syncLogin.execute(); 
     } 
    } 

    protected void onSaveInstanceState(Bundle outState) { 
     try{ 
      super.onSaveInstanceState(outState); 
      final AsyncTask task = syncLogin; 

     }catch(Exception e){ 
      Log.e("ERROR", e.getMessage()); 
     } 
    } 

ответ

1

По очереди вы имеете в виду ориентацию экрана? Если это так, я думаю, что ваша проблема может заключаться в том, что ваша активность воссоздается с ориентацией экрана. И с этим, ваш AsyncTask.

Обратитесь к этому, чтобы обрабатывать изменения времени выполнения. http://developer.android.com/guide/topics/resources/runtime-changes.html

Смежные вопросы