2 Stimmen

ListView onItemClick Bereich ist auf dem Handy und Tablet unterschiedlich

Ich habe ein ListView, das aus dem Code erstellt, gestylt und mit einem Adapter versehen wurde, der auf beiden Geräten gleich ist.

Merkwürdigerweise ist auf meinem Telefon (2.3.4) nur der Text anklickbar. Auf dem Tablet (3.1) ist das gesamte ListView-Element anklickbar. Auf dem Tablet ist der Text auch rechts ausgerichtet.

Der einzige Unterschied ist, dass auf dem Tablet die LayoutParams-Breite des ListViews programmatisch auf "240dp" gesetzt wurde.

Bisher habe ich keine Listener zu den Ansichten aus dem Adapter (ein SimpleCursorAdapter) oder zum ListView selbst hinzugefügt.

Ist das schon mal jemandem passiert?

0voto

Graeme Punkte 25304

Ich war bereit, an diesem Punkt alles zu beenden,

Letztendlich stieß ich bei meinen Untersuchungen auf die Lösung:

Ich änderte das XML, das das ListView steuert - es war auf "wrap_content" eingestellt (die Breite des ListView entsprach der Breite des größten Elements der Liste). Stattdessen setzte ich die Breite auf "match_parent", um sie über den Container zu strecken.

Anscheinend erben jede Elemente eines ListView mit "match_parent" die anfänglichen Attribute ihrer Eltern, nicht ihre aktuellen Attribute (zumindest nicht in Bezug auf Breite/Höhe). Kaputte, unintuitive Logik, wenn du mich fragst.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X