2016-04-29 15 views
0

Also im Wesentlichen möchte ich eine Schaltfläche in meine Android-App simulieren, mit einem Timer zu simulieren.performClick() funktioniert nicht, weil es in einem anderen Thread ist

Wenn der Timer ausgeht, finde ich die Taste dann versuchen, performClick() verwenden, die abstürzt und die App schließt.

Das Protokoll natürlich machte das Problem ziemlich klar: "Nur der ursprüngliche Thread, der eine Ansichtshierarchie erstellt hat, kann seine Ansichten berühren." Was total Sinn macht. Duh!

Aber ich nehme an, dass, da es all meine App ist, es eine Möglichkeit gibt, dies richtig zu machen?

+0

Hallo Sergio, Denken Sie daran, in Android diese Grundlagen. Jede andere Aufgabe als das Ändern des Oberflächenelements muss in einem Hintergrundthread ausgeführt werden. –

+0

Können Sie Ihren Code veröffentlichen? @Sergio – Lampard

Antwort

1

Sie können runOnUiThread() in einem Hintergrund-Thread, um den UI-Thread zu aktualisieren verwenden:

 try { 
      runOnUiThread(new Runnable() { 

       @Override 
       public void run() { 
        //Run your functions here 
       } 
      }); 
     } catch (InterruptedException e) { 
      e.printStackTrace(); 
     } 
+0

Ja, und danke. Das hat so funktioniert. Ich würde gerne wissen, aber nicht sicher, wie man danach sucht ... für diejenigen, die mit Windows-Programmierung vertraut sind, könnte jede App eine Nachricht an eine Schaltfläche senden (in diesem Fall), so lange sie es finden konnte. Gibt es derzeit eine äquivalente Art der Programmierung für Android? Nochmals vielen Dank für Ihre Antwort –

+0

willkommen :) froh, dass es geholfen hat. Es tut mir leid, aber ich konnte deine zweite Frage nicht wirklich verstehen. lol ... – DriLLFreAK100

+0

Hallo .... In Windows-Programmierung, das SDK, ermöglicht es, eine Nachricht an jedes Element zu senden, die Sie sehen können. Es spielt keine Rolle, dass es zu einer anderen Anwendung oder einem anderen Thread gehört. Knöpfe, Fenster, Schieberegler usw. Wenn wir also nur über einen Knopf sprechen: Grundsätzlich kann ich den Griff zum Knopf finden und eine Nachricht an ihn senden. Wie die Nachricht, die sie erhalten würde, hätte ein Benutzer sie mit einer Maus angeklickt. Der Versuch, herauszufinden, ob es etwas Vergleichbares in Android gibt. Danke –

Verwandte Themen