A listview elemek kiemelése az androidban, a zaporizka oblasna universalna naukova biblioteka
Ebben a cikkben megmutatom, hogyan válogathat egy elemet a ListView-ban, miután a felhasználó rákattintott rá. Az a tény, hogy alapértelmezésben az Android-ban, a lista minden egyes gyermekelemét csak abban a pillanatban osztják ki, amikor a felhasználó megnyomja (vagy rögzíti). Miután eltávolítja az ujját - a kiválasztás eltűnik. Néha egy alkalmazásban ki kell választania egy ListView elemet, amíg a felhasználó nem választ ki másikat, és nem kattint rá. Nem nehéz ezt megtenni.
Például javaslom egy új projekt létrehozását egy tevékenységgel. Ezután hozzá kell adnia a ListView összetevőt a tevékenységfájlhoz (alapértelmezés szerint - activity_main.xml), és adnia kell egy azonosítót, például my_listview-ot, és hozzá kell adnia az android tulajdonságot: choiceMode = "singleChoice". Szintén el kell készítenie a listaelemek elrendezését (úgy döntöttem, hogy listview_item.xml-nek nevezem). Ebben a sorban hozzá kell adni egy LinearLayout-ot az id item_container-el és egy szövegmezővel (TextView) az id item_text-rel.
Először is beállítom a színértékeket egy elem kiválasztásához. Ehhez hozza létre az erőforrásfájl colors.xml fájlját a res / values mappában, és adja hozzá a következő sorokat:
A lista használatához az osztály MyAdapter lesz használva, amely kiterjeszti a BaseAdapter osztályt, és felülírja a módszereket. A MainActivity osztályban létre kell hozni.
Mivel az Android API verziója alacsonyabb, mint a 11 Android: az állapotaktivált tulajdonság nem érhető el, amikor megnézem az elemet, megnézem, hogy az Android verzió melyik verziója telepítve van az eszközön, és ha 11-nél kisebb, akkor a nézet a következőképpen jelenik meg:
A MyAdapter osztály felsorolása:
Most, az onCreate módban létre kell hoznia egy adaptert, és hozzá kell rendelnie a ListView-hoz.
Annak érdekében, hogy a listaelemek kiemelkedjenek a kattintás után, létre kell hoznia egy választót, amely a feltételektől függően megváltoztatja a kiválasztott színt. Ehhez a mappa res mappában létre kell hoznia egy mappát. amelyben két xml fájlt akar létrehozni a választó típusával. Az elsőre szükség van a kiválasztott nézet hátterének festésére, a második pedig a szöveg színének megváltoztatására. Megadtam nekik item_background_selector.xml és item_text_selector.xml
Az első fájlban meg kell adnia a következő sorokat:
Ezután nyissa meg a file listview_item.xml fájlt, és adja hozzá a következő tulajdonságot a LinearLayout android számára: background = "@ drawable / item_background_selector", és a TextView tulajdonság hozzáadása
Az utolsó dolog, amit csinálni akarunk, hozzon létre egy ListView kezelőt, és hozzárendelhessen elemeit, jelezve, hogy ki kell emelni.
És a módszer onCreate mListView.setOnItemClickListener kell hozzá egy sort (mItemClickListener);
A MainActivity osztály teljes felsorolása: