SORU
15 ŞUBAT 2011, Salı


Can't Looper aramadı hangi konu içerisindeki işleyicisi oluşturun.()hazırlamak

Dersim bir Aktivite var.

text=new Dynamictext(...);
text.setText("txt");

DynamicText benim java kodu var:

public void setText(String text) {
    this.text=text;
    new asyncCreateText().execute();
    //this.createText(text);
}

//private Handler handler = new Handler();

private class asyncCreateText extends AsyncTask<Void, Void, Void> 
{
    @Override
    protected Void doInBackground(Void... unused) {
        return null;
    }

    @Override
    protected void onPostExecute(Void unused) {

    }
}

Anlıyorum:

ERROR/AndroidRuntime(5176): Nedeni: java.lang.RuntimeException oluşturun: Looper adı verilen bu iç iplik işleyicisi yok.() hazırlayın

Nasıl bu hata işleyebilir miyim?

ERROR/AndroidRuntime(5370): java.lang.ExceptionInInitializerError
ERROR/AndroidRuntime(5370):     at com.l.start.DynamicText.setText(DynamicText.java:125)
ERROR/AndroidRuntime(5370):     at com.l.start.OpenGLRenderer.initfonts(OpenGLRenderer.java:168)
ERROR/AndroidRuntime(5370):     at com.l.start.OpenGLRenderer.init(OpenGLRenderer.java:119)
ERROR/AndroidRuntime(5370):     at com.l.start.OpenGLRenderer.onSurfaceChanged(OpenGLRenderer.java:90)
ERROR/AndroidRuntime(5370):     at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1120)
ERROR/AndroidRuntime(5370):     at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:975)

ERROR/AndroidRuntime(5370): Caused by: java.lang.RuntimeException: 
    Can't create handler inside thread that has not called Looper.prepare()
ERROR/AndroidRuntime(5370):     at android.os.Handler.<init>(Handler.java:121)
ERROR/AndroidRuntime(5370):     at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
ERROR/AndroidRuntime(5370):     at android.os.AsyncTask$InternalHandler.<init>(AsyncTask.java:421)
ERROR/AndroidRuntime(5370):     at android.os.AsyncTask.<clinit>(AsyncTask.java:152)
ERROR/AndroidRuntime(5370):     ... 6 more

CEVAP
15 ŞUBAT 2011, Salı


Hata açıklayıcı, döngü için tasarlanmamıştır beri Looper bir bağlantısı olmayan bir arka plan iş parçacığı üzerinde çalışır.

Büyük olasılıkla doInBackground() uygulama döner UI iş parçacığı üzerinde çalışan onPostExecute() geçilecek ne olursa olsun doğrudan bir İşleyici hiç örneğini... istemiyorum.

SORU ORTAYA ÇIKIYOR: STACKTRACE AŞAĞIDAKİ EKLEDİ

AsyncTask GL render bir iş parçacığı başlatmak için çalıştığınız gibi görünüyor... çünkü onlar hiç 11 ** ya da yapma sakın. AsyncTasks gerçekten UI akıştan sadece çalıştırmak için tasarlanmıştır.

En az zorlayıcı bir düzeltme muhtemelen AsyncTask başladı Runnable Activity.runOnUiThread() çağrı olurdu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • Justin Schenck

    Justin Schen

    24 Kasım 2006
  • pleated-jeans

    pleated-jean

    6 HAZİRAN 2013