SORU
1 EYLÜL 2010, ÇARŞAMBA


Can't Looper aramadı işleyicisi içinde iş parçacığı oluşturma.() hazırlamak için ProgressDialog içinde AsyncTask

Bu hatayı alıyorum neden anlamıyorum. AsyncTask arka planda bazı işlemler çalıştırmak için kullanıyorum.

Var:

protected void onPreExecute() 
{
    connectionProgressDialog = new ProgressDialog(SetPreference.this);
    connectionProgressDialog.setCancelable(true);
    connectionProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    connectionProgressDialog.setMessage("Connecting to site...");
    connectionProgressDialog.show();

    downloadSpinnerProgressDialog = new ProgressDialog(SetPreference.this);
    downloadSpinnerProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    downloadSpinnerProgressDialog.setMessage("Downloading wallpaper...");
}

Ben bir koşula bağlı: doInBackground() içine aldığımda

[...]    
connectionProgressDialog.dismiss();
downloadSpinnerProgressDialog.show();
[...]

downloadSpinnerProgressDialog.show() çalıştığım zaman hata alıyorum.

Herhangi bir fikir adamlar?

CEVAP
1 EYLÜL 2010, ÇARŞAMBA


show() User-Interface (UI) thread, doInBackground() süre gelen çağrılmalıdır yöntemi AsyncTask tasarlanmış ana nedeni olan farklı bir iş parçacığı üzerinde çalışır.

Ya onPostExecute() 11 *veya show() aramalısın.

Örneğin:

class ExampleTask extends AsyncTask<String, String, String> {

    // Your onPreExecute method.

    @Override
    protected String doInBackground(String... params) {
        // Your code.
        if (condition_is_true) {
            this.publishProgress("Show the dialog");
        }
        return "Result";
    }

    @Override
    protected void onProgressUpdate(String... values) {
        super.onProgressUpdate(values);
        connectionProgressDialog.dismiss();
        downloadSpinnerProgressDialog.show();
    }
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Leigh Momii

    Leigh Momii

    10 Mayıs 2006
  • snookie77

    snookie77

    2 Mart 2006
  • tutvid

    tutvid

    19 AĞUSTOS 2006