2016-02-04 27 views
8

Pracuję nad aplikacją, w której próbuję zapełnić listę, używając również RecyclerView i adaptera do recyklingu. Ale kiedy przewijam listę szybko, czasami wartości na liście są pomieszane wśród elementów listy. Czy jest znana znana poprawka?Widok z recyklingu na wartościach przewijania zmieniających się z adaptera

+0

przedmiotów nie można zmienić przez siebie, najbardziej prawdopodobne jest to, zmieniając je w karty – pskink

+0

co chciałem powiedzieć to to, że zawartość jest tasowanie wśród elementów listy – Nilabja

+0

użycie viewholder wzór ostrożnie lub jeśli twoja lista ma mały rozmiar setIsRecyclable (false); Spróbuj tego. –

Odpowiedz

18

dodając ten zasilacz rozwiązał problem

@Override 
public int getItemViewType(int position) 
{ 
    return position; 
} 
+0

Dzięki @Nilabja pomogło mi – surhidamatya

+0

To zadziałało ... Ale czy ktoś może wyjaśnić, jak to działało? – Benedict

+0

@Override public int getItemViewType (int position) { if (pozycja

4

Wystarczy zastąpić te metody w swojej Adapter, Ponieważ niektóre inne metody przesłoniętych trzeba nazwać tych metod nadpisywania.

@Override 
public long getItemId(int position) { 
    return position; 
} 

@Override 
public int getItemViewType(int position) { 
    return position; 
} 

nadzieję, że pomoże :)

+0

Dzięki. nadpisanie to wystarczy. – Fahad

+0

ten kod rozwiązał mój problem – Ozzy