Buttons können nicht deaktiviert werden

  • Hallo,


    ich habe eine sehr simple App zur Ansteuerung von Relaismodulen über Bluetooth erstellt.
    Nach Betätigung des Buttons soll ein Relais 1s geschaltet bleiben und dann wieder abfallen.
    Soweit klappt das auch, aber während der 1s soll der Button nicht "clickable" sein.
    Das klappt leider nicht.


    Ich habe es auch mit ".disabled" probiert, gleiches Ergebnis.


    Hat jemand einen Tipp?


    Code s. Anhang

  • Zitat

    Kann es sein, dass das Loslassen (release) des Buttons das Sperren wieder aufhebt?

    nein das machst du ja selber in deinem Listener. In der letzten Zeile setzt du es ja wider true.
    Somit hast du es nur für wenige nanno sek False gesetzt.
    Benutze dazu einen Timer der nach einer Zeit es wieder auf true setzt. oder du benutzt einen zweiten Button zum wieder aktiv setzen.

  • Hi nono124,


    grundsätzlich habe ich den Timer verstanden.
    In meinem code funzt es aber nicht.


    "
    android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
    at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:9745)
    at android.view.ViewRootImpl.focusableViewAvailable(ViewRootImpl.java:5213)
    at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:965)
    at android.view.ViewGroup.focusableViewAvailable(ViewGroup.java:965)
    "


    Ich habe es auch mit .postDelayed() versucht (s. Anhang), da funktioniert aber der OutputStream nicht.


    Mir fehlen womöglich einige grundlegende Zusammenhänge.


    Gibt es hierzu gute Beispiele?


    Grüße
    Joe

  • Hallo,


    ich habe es gelöst.


    Die Zeitverzögerung mit .postDelayed()


    Das OutputStream-Problem mit einer Subroutine sendMessage(), s. code im Anhang.


    Viele Grüße
    Joe


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!