Android: Pourquoi ne puis-je pas créer un gestionnaire dans le nouveau thread

J'ai eu un problème de création d'un gestionnaire dans le nouveau thread. C'est mon code:

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    new Thread(new Runnable() {
        public void run() {
            Handler handler = new Handler();
        }
    }).start();
}

Mais il a soulevé une erreur! Quelqu'un peut-il expliquer cela à moi? Merci beaucoup!

Voici les détails de mon erreur:

09-17 18:05:29.484: E/AndroidRuntime(810): FATAL EXCEPTION: Thread-75
09-17 18:05:29.484: E/AndroidRuntime(810): java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()
09-17 18:05:29.484: E/AndroidRuntime(810):  at android.os.Handler.<init>(Handler.java:197)
09-17 18:05:29.484: E/AndroidRuntime(810):  at android.os.Handler.<init>(Handler.java:111)
09-17 18:05:29.484: E/AndroidRuntime(810):  at com.example.handler.MainActivity$1.run(MainActivity.java:57)
09-17 18:05:29.484: E/AndroidRuntime(810):  at java.lang.Thread.run(Thread.java:856)
  • Quelle est l'erreur que vous recevez?
  • Vous êtes l'instanciation d'un Handler dans votre fil, mais vous n'êtes jamais à l'appel de méthodes sur elle. Vous assurer que ce que vous voulez?
  • Je veux écrire un peu de méthode dans le Gestionnaire, mais j'ai eu d'erreur lors de l'instanciation de la Gestionnaire, tellement simple que je viens de poster ici le code d'erreur. Quand j'ai couru ce code, l'application s'est écrasé
  • au lieu de créer un Thread et le réglage de la fonction Looper pour que le Thread de lecture sur HandlerThread classe
  • crash! post la trace de la pile
InformationsquelleAutor nguyenbkcse | 2013-09-17