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

  • bobono1baby

    bobono1baby

    14 AĞUSTOS 2011
  • FF Radio

    FF Radio

    16 Mayıs 2008
  • UKF

    UKF

    2 Aralık 2009