AsyncTask onPostExecute никогда не вызывается

Я не уверен, что делаю неправильно, но onPostExecute никогда не вызывается.

  • Создал базовый класс под названием BaseActivity.java
  • Из моего исходного Activity я расширил этот класс.
  • Помещен класс PostToOpenFeint внутри BaseActivity
  • Вызвал его из потока пользовательского интерфейса из основного действия, которое я выполнял:

     new PostToOpenFeint.execute ();
    

OnPreExecute (), doInBackground (..) срабатывает, но по какой-то причине onPostExecute никогда не вызывается.

Заранее спасибо!

Дэйв

 private class PostToOpenFeint extends AsyncTask<Void, Void, Void> {
  /*
   * (non-Javadoc)
   * 
   * @see android.os.AsyncTask#doInBackground(Params[])
   */
  @Override
  protected Void doInBackground(Void... params) {
   // does all the work here
   return null;
  }


  /*
   * (non-Javadoc)
   * 
   * @see android.os.AsyncTask#onPostExecute(java.lang.Object)
   */
  @Override
  protected void onPostExecute(Void result) {
   // TODO Auto-generated method stub
   super.onPostExecute(result);
   Toast.makeText(MainScreen.this, "Done syncing", Toast.LENGTH_LONG).show();
  }

  /*
   * (non-Javadoc)
   * 
   * @see android.os.AsyncTask#onPreExecute()
   */
  @Override
  protected void onPreExecute() {
   // TODO Auto-generated method stub
   super.onPreExecute();
   Toast.makeText(MainScreen.this, "About to sync all your scores", Toast.LENGTH_LONG).show();
  }

Если посмотреть подробнее, я вот что смог наблюдать. Например, если я сделаю этот вызов:

 new PostToOpenFeint.execute();

сразу после onCreate of the Activity, тогда все будет работать нормально. Если я помещаю этот вызов, скажем, внутри слушателя кнопки.

settingsButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
   new PostToOpenFeint.execute();
}
});

onPostExecute () никогда не вызывается, я не уверен, что я делаю не так. Ограничение, которое я прочитал, заключалось в том, чтобы вызвать это из потока пользовательского интерфейса, а я вызываю его из потока пользовательского интерфейса.

39
задан ddavtian 21 December 2010 в 23:00
поделиться