AKTUALISIEREN
Ich habe das Problem mit dem Klicken gelöst, indem ich die zwei fokussierbaren Zeilen aus dem Schaltflächenstil entfernt habe und den Ereignishandler onClick verwendet habe, um requestFocusFromTouch();
Leider bleibt mir ein Problem, dass requestFocusFromTouch () die falsche Schaltfläche fokussiert. Es fokussiert immer die erste Schaltfläche und nicht die Schaltfläche, auf die ich die Methode anrufe. Ist das ein Android Bug oder erwartetes Verhalten und was kann ich für eine Arbeit tun?
Der Code sieht nun für das onClick-Ereignis wie folgt aus
%Vor%ENDE DER AKTUALISIERUNG
Ich habe eine Android-Taste, die den folgenden Stil hat
%Vor%Ich habe einen On-Click-Listener, der so aussieht
%Vor%Ich habe ein Bild auf der Schaltfläche und der Selektor sieht so aus
%Vor%Das Layout, das die Schaltfläche und die Schaltfläche verwendet, sieht so aus
%Vor%Es gibt andere Schaltflächen und dieses Layout fungiert als obere Menüleiste, die in jedem Layout enthalten ist.
Das onClick-Ereignis für die Schaltfläche wird aufgrund der fokussierbaren Linien nur bei einem zweiten Klick auf die Schaltfläche ausgelöst.
%Vor%Der erste Klick setzt den Fokus auf die Schaltfläche und der zweite Klick löst den onClick-Ereignis-Listener aus Ich muss die beiden zusammen kombinieren, so dass der erste Klick den Fokus auf AND setzt und den OnClick-Ereignis-Listener auslöst. Kann das gemacht werden?
Wenn ich die zwei fokussierbaren Zeilen entferne, verhalten sich die Tasten normal, aber ich möchte zeigen, dass die Taste fokussiert ist und ich möchte den Lauftext in der Taste, die <item name="android:ellipsize">marquee</item>
mir gibt
Irgendwelche Ideen sehr geschätzt
Möglicherweise müssen Sie einen OnFocusChangeListener und dann prüfen, ob das Fokus-Ereignis passiert ist, als der Bildschirm sich im Touch-Modus befand: Wenn dies der Fall war, war es ein Benutzer-Klick, ansonsten vom Trackball / Trackpad.
Tags und Links android