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

  • A Alkhaldi

    A Alkhaldi

    12 Mayıs 2007
  • akalyne

    akalyne

    13 Mayıs 2009
  • Jack Vale Films

    Jack Vale Fi

    8 ŞUBAT 2007