Evidențierea elementelor de listă în Android, zaporizka oblasna universalna naukova biblioteka

În acest articol, vă voi arăta cum să faceți un articol în ListView rămânând selectat după ce utilizatorul face clic pe el. Faptul este că, implicit, în Android, fiecare element copil al listei este alocat numai în momentul în care utilizatorul îl apasă (sau o strânge). După ce își îndepărtează degetul - selecția dispare. Uneori, într-o aplicație, trebuie să selectați un element ListView până când utilizatorul selectează altul și dă clic pe el. Nu este greu să faci asta.







Propun, de exemplu, crearea unui nou proiect cu o singură activitate. După aceea, va trebui să adăugați componenta ListView în fișierul Activitate (implicit - activity_main.xml) și să îi dați un identificator, de exemplu, my_listview și să adăugați proprietatea android: choiceMode = "singleChoice". De asemenea, va trebui să creați aspectul elementelor din listă (am decis să îl numesc listview_item.xml). În acesta, trebuie să adăugați un LinearLayout cu elementul item_container și un câmp de text (TextView) cu elementul item_text.

Mai întâi, am setat valorile de culoare pentru selectarea unui element. Pentru a face acest lucru, creați fișierele de resurse colors.xml în folderul res / values ​​și adăugați următoarele linii:







Pentru a lucra cu lista, se va folosi clasa MyAdapter, care extinde clasa BaseAdapter și suprascrie metodele sale. Va trebui să fie creat în clasa MainActivity.

Deoarece versiunea Android API este mai mică decât proprietatea 11 android: state_activated nu este disponibilă, când văd articolul, voi verifica ce versiune de Android este instalată pe dispozitiv și dacă este mai mică de 11, vizualizarea va fi evidențiată după cum urmează:

Afișarea clasei MyAdapter:

Acum, în metoda onCreate, va trebui să creați un adaptor și să îl alocați ListView.

Pentru ca elementele listei să iasă în evidență după ce faceți clic, va trebui să creați un selector care va schimba culoarea selecției, în funcție de condiții. Pentru a face acest lucru, în folderul res, trebuie să creați un dosar trasabil. în care doriți să creați două fișiere xml cu tipul de selector. Prima este necesară pentru a picta fundalul Vizualizării selectate, iar a doua - pentru a schimba culoarea textului. Le-am numit item_background_selector.xml și item_text_selector.xml

În primul fișier, trebuie să adăugați următoarele rânduri:

După aceea, deschideți fișierul listview_item.xml și adăugați următoarea proprietate pentru LinearLayout android: background = "@ drawable / item_background_selector" și pentru TextView adăugați o proprietate

Ultimul lucru pe care trebuie să-l faceți este să creați și să atribuiți un handler ListView să facă clic pe elementele sale, indicând faptul că trebuie să fie evidențiat.

Și în metoda onCreate, adăugați linia mListView.setOnItemClickListener (mItemClickListener);

Lista completă a clasei MainActivity:







Articole similare

Trimiteți-le prietenilor: