2018 Hogyan válasszuk ki a kiválasztott elemet a listview androidban

Androids .help angol Android közösség.

Tudom, hogy az Android nem mutat ki semmit a TouchMode-ban. De hasonló dolgot teszek egy olyan Gmail alkalmazáshoz, amelyben bal oldali dolgokat választasz, és részleteket mutatsz a tevékenység jobb oldalán. (Kíváncsi vagyok, hogyan történt a Google).

Tehát van egy történetem, amely kiemeli, hogy a ListView bal oldalán milyen elemeket választottak ki. Több hasonló kérdést és megoldást találtam alapvetően:

1.override módszer és setBackground GetView adapter a kiválasztott elemhez

De egyikük sem működik számomra különös viselkedés miatt. Ahogy rákattintok egy elemre és kijelölem, az ötödik elem után kiválasztom, és így stb. Így tovább, ahogy lefelé görgetek a listán.

Bármilyen javaslatot. Köszönöm!

Top 5 Respuesta

Ennek az az oka, hogy néhány elemet körbefut, valószínűleg azért, mert: újra integrálja a nézetet, vagy mindkét nézet hátterét ugyanarra a rajzos példányra állítja be. Ha ugyanaz a sorsolás a képernyőn a felére, összes esemény fog történni az első alkalom, az összes többi, mert ez a logika végrehajtása esetén a legtöbb húzható.

A probléma megoldásához: ne használja újra több nézet nézetét, vagy ne használja újra többszörös bemeneti tényezőt (minden alkalommal hozzon létre egy újat)

Tudom, hogy ez erőforrásigényesnek tűnik, és ez, de ha nincs meg a legjobb megoldás, megtalálja ezt az egyszerű megoldást.

ListView.setChoiceMode (INT choiceMode) használata;

CHOICE_MODE_NONE, CHOICE_MODE_SINGLE vagy CHOICE_MODE_MULTIPLE választásMódja az android.widget.AbsListView osztályból

Szüksége van továbbá egy MultiChoiceModeListener hozzáadására is, de CHOICE_MODE_SINGLE

Lásd az alábbi mintát

Mivel a ListViews elemei utánozzák azokat, amelyek a tetején szerepelnek, szintén szimulálják a háttérüket. Be kell állítania az egyes részletek hátterét a GetView (funkciók) funkcióban. A GetView () minden pontján meg kell adnia a hátteret mind az egyéni, mind a nem kijelölt egységek számára.

ez egy egyedi listactivity vagy ListFragment

válassza ki a kiválasztott elemet a ListView ablakban

Kapcsolódó cikkek