Android : Mehrere Aktionen in einer Liste Anzeigen - Fokus-Problem
Ich einführen möchte eine ListView, die ich tun kann, kein problem w/meine cursor. Jetzt je nachdem, welche Zeile Sie darauf klicken, gelangen Sie zu einer neuen Aktivität auf der Grundlage der Informationen, die Pressen auf die Zeile (so wie es sein sollte, und wie erwartet). Ich hätte gerne eine Schaltfläche, jedoch löschen Sie die Zeile, so dass der Benutzer drücken kann jeder Teil der Reihe zum launch der neuen Aktivität, aber wenn Sie drücken Sie auf die Taste, die Zeile löscht die Zeile (oder startet ein löschen Tätigkeit/Funktion).
Wenn Sie können, schauen @ DroidRecord, Sie haben ein ähnliches layout, wie ich bin auf der Suche zu erreichen.
Dank!
Chris.
InformationsquelleAutor Chrispix | 2009-02-01
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
was ist Ihre Frage? So fügen Sie eine Schaltfläche, um eine Liste Zeile?
Sehr einfach, wie man es von Ihnen erwartet wird Hinzugefügt, um die Zeile layout.
Leider, obwohl, die machen auch die ganze Zeile "unantastbar". Die Google-Entwickler den ich fragte, sagte, dass dies ist beabsichtigt (soweit ich mich erinnere), und dass Sie verwenden sollten, TouchDelegate zu bewältigen. Da gibt es keine Muster, auch nicht in der android-Quelle und nur sehr Dünn Dokumentation das hat nicht funktioniert für mich
Sowieso, es scheint, dass nicht viele Anwendungen eine Schaltfläche in der Zeile Liste. Ich weiß nur zu mir (newsrob, siehe Artikel-Liste) und der Wecker. Vielleicht könnten Sie über ein Kontext-Menü?
Sonst die hässliche Lösung wäre, zu nennen setOnClickListener() in der Zeile anzeigen in der getView-Methode.
Cheers
Als Mariano Kamp, sagte, hinzufügen von Schaltflächen, die auf eine Zeile wird es "unantastbar", aber meiner Erfahrung nach, wird dieses problem geht Weg, wenn diese Eigenschaften legen Sie auf die Schaltflächen:
Siehe auch Wie Feuer onListItemClick in Listactivity mit den Tasten in der Liste?
Andere mögliche Problemumgehung können Sie mit einer Bildansicht anstelle der Schaltfläche, und legen Sie die Bildansicht ist onClickListener (Zum Beispiel, wenn Sie ein aufblähen der Zelle anzuzeigen).
Bildansicht ist nicht fokussierbar, so dass es nicht verhindern, dass OnListItemClick() wird ausgelöst, und wenn Sie klicken Sie auf das Bild nur das Bild ist Hörer feuert.
Es ist nicht die Antwort auf deine Frage, aber die lange-klicken Sie auf/tab ist in der Regel der Ort, um ein pop-up-Kontextmenü, und legen Sie zusätzliche Aktionen, wie z.B. löschen. Können Sie Lesen, wie Sie es hier tun: Wie setzen Sie Kontext-Menü in einer ListActivity in Android?
Danken möchte ich VR für seine Hinweis auf die Beseitigung der
focusable
Zustand der Taste(s), es meinen Tag gerettet.Aber für die Informationen, da der button nicht mehr
focusable
-state_focused
auf < Wahlschalter > xml - , das design zeigt auch nicht mehr an den Benutzer.Diese Tasten immer noch im Zustand
pressed
zwar, aber auch beim klicken irgendwo sonst auf der übergeordneten Ansicht (irgendwo, ABER eine andere Taste) !Halten, dass im Hinterkopf, es könnte nicht eine gute Lösung für Ihren persönlichen Fall, aber funktioniert es gut.
Ich habe versucht, dies zu können, klicken Sie auf die Tasten, aber es hat nicht funktioniert für mich
android:justierbares="false"
android:focusableInTouchMode="false"
also, was ich Tat, war ändern die Aktivität layout scrollview und fügen Sie dann eine linerLayout innerhalb der it.
danach können Sie die Tasten, um das layout und jeder wird die Schaltfläche anklickbar.