Dwie sprawy co do adaptera i listview. Po pierwsze jesli mam w elemencie listy np checkbox i jak go zaznacze to chce zeby dany item sie pokorował i spadł na sam dol listy, probowalem roznych kombinacji w Adapterze ale srednio to działa bo nie zapamietuje, czy dobrym pomysłem było by zrobic arrayliste typu np. ListItems(text, color, chcecked)?
A druga sprawa to taki problem że jak lista jest dłuzsza (tzn uzywa scrola) to jak zaznacze jeden element i przewine w dol to mi zaznacza jakieś losowe, nie wiem od czego to zależy.
@MrFisherman: 1. Jeżeli używasz ListView to lepiej zamień go od razu na RecyclerView - w zasadzie to samo ale RecyclerView jest lepszy, ma dużo przydanych rzeczy i narzuca parę dobrych praktyk. 2. Co do losowego zaznaczania się checków w komórkach - pamiętaj, że Android stara się odzyskiwać widoki zamiast tworzyć nowe (wtedy te omyłkowo zaznaczone checki są naprawdę odzyskanymi, wcześniej zaznaczonymi checkami) w związku z czym musisz nie tylko ustawiać
@calc_exe: co do 3. To tak, uzywam CustomAdaptera który przyjmuje jako argument ArrayListe stringow i je wyswietla, problem natomiast jest taki że udaje mi sie dać na ostatni element bo wywalam z array listy potem znowu dodaje i daje to o czym mówileś czyli notifyDataChanged, tyle że koloruje sie tylko ostatni a ja potrzebuje zrobic cos takiego zeby ogolnie te zaznaczone sie kolorowaly i spadały w dół (w sensie to
@MrFisherman: Po pierwsze przejdź na RecyclerView i odpowiadający mu ViewHolder, tak będzie najlepiej. Po drugie - nie za bardzo wiem jak to teraz masz zorganizowane bo bez kodu za dużo nie powiem. Natomiast o ile dobrze rozumiem flow powinien być taki: - w metodzie która musi przygotować konkretną komórkę wyciągasz odpowiedni element z ArrayList (powiedzmy obiekt Product składający się z pól name oraz checked), - w zależności od wartości checked
@MrFisherman: Po zachowaniu listy wnioskuje, że albo używasz RecyclerView, albo ListView z ViewHolder pattern (RecyclerView wymusza używanie ViewHolderów). Skoro tak, to traktuj "onBindViewHolder" jako metodę gdzie musisz ustawić tło i zaznaczenie elementu. Ważne jest to, żebyś nie ustawiał tła jedynie wtedy gdy element jest zaznaczony, ale także gdy nie jest (np. na białe czy przezroczyste). Wtedy masz pewność, że zachowanie listy będzie takie jak się spodziewasz
@wfd: @Kizio: @calc_exe: chłopaki pomożecie? Bo ogarnąłem w miare ten RecycleView (a troche z tym problemów było) ale on nie dodaje mi itemów i nie wiem w czym tkwi problem. TextView ktory odpowiwada za ArrayListe wyswietla ilosc itemkow ale RecycleView jest pusty. I już nie
@Kizio: recyclerview sie ladnie wyswietla ale problem z tym przesunieciem elementu na dół nadal nie rozwiasany xd raz mi dziala z samymi nazwami (bez stanu checkboxa) a jak ustawie na chceckbox setChecked a potem notify...() to wywala Exception, założyłem nawet pytanie na stacku xd
Dwie sprawy co do adaptera i listview. Po pierwsze jesli mam w elemencie listy np checkbox i jak go zaznacze to chce zeby dany item sie pokorował i spadł na sam dol listy, probowalem roznych kombinacji w Adapterze ale srednio to działa bo nie zapamietuje, czy dobrym pomysłem było by zrobic arrayliste typu np. ListItems(text, color, chcecked)?
A druga sprawa to taki problem że jak lista jest dłuzsza (tzn uzywa scrola) to jak zaznacze jeden element i przewine w dol to mi zaznacza jakieś losowe, nie wiem od czego to zależy.
Dzieki za pomoc jak coś :)
źródło: comment_bNs1vXIJ8UDrBb6vCdhs1exFzwpsYhsD.jpg
Pobierz1. Jeżeli używasz ListView to lepiej zamień go od razu na RecyclerView - w zasadzie to samo ale RecyclerView jest lepszy, ma dużo przydanych rzeczy i narzuca parę dobrych praktyk.
2. Co do losowego zaznaczania się checków w komórkach - pamiętaj, że Android stara się odzyskiwać widoki zamiast tworzyć nowe (wtedy te omyłkowo zaznaczone checki są naprawdę odzyskanymi, wcześniej zaznaczonymi checkami) w związku z czym musisz nie tylko ustawiać
Po drugie - nie za bardzo wiem jak to teraz masz zorganizowane bo bez kodu za dużo nie powiem. Natomiast o ile dobrze rozumiem flow powinien być taki:
- w metodzie która musi przygotować konkretną komórkę wyciągasz odpowiedni element z ArrayList (powiedzmy obiekt Product składający się z pól name oraz checked),
- w zależności od wartości checked
@Kizio:
@calc_exe: dzięki panowie, dzisiaj popróbuje :)
@Kizio:
@calc_exe:
chłopaki pomożecie? Bo ogarnąłem w miare ten RecycleView (a troche z tym problemów było) ale on nie dodaje mi itemów i nie wiem w czym tkwi problem. TextView ktory odpowiwada za ArrayListe wyswietla ilosc itemkow ale RecycleView jest pusty. I już nie
https://stackoverflow.com/questions/53821060/how-to-move-item-to-the-last-position-when-checkbox-is-checked-recyclerview-v?noredirect=1#comment94492536_53821060