2010-04-23 13 views
5

Mam kursor, a dostałem, powiedzmy, 40 wierszy, chcę ukryć niektóre wiersze, gdy użytkownik zaznaczy pole wyboru.Jak ukryć określone wiersze kursora w Androidzie

Jednym ze sposobów jest ponowne uruchomienie zapytania na kursorze, ale to mi nie pomaga, ponieważ warunek jest spełniony przez Javę (obliczyć saldo, z wieloma logikami).

Potrzebuję czegoś, co dostanie bieżący wiersz, i zwróci, jeśli można go pokazać, czy nie.

każda pomoc zostanie doceniona.

Odpowiedz

5

i dziedziczyć CursorWrapper i zastąpić niektóre z metod, oto kod:

public class SelectableCursorWrapper extends CursorWrapper { 

private HashSet<Integer> mWhichShow; 

public SelectableCursorWrapper(Cursor cursor, HashSet<Integer> whichToShow) { 
    super(cursor); 

    mWhichShow = whichToShow; 
} 

@Override 
public int getCount() { 
    return mWhichShow.size(); 
} 

@Override 
public boolean moveToPosition(int position) { 
    if (position >= super.getCount()) { 
     return false; 
    } 

    if (mWhichShow.contains(position)) { 
     return super.moveToPosition(position); 
    } else { 
     // Recursion on this method to move to the next element properly 
     return this.moveToPosition(position + 1); 
    } 
} 
} 

dzięki dla każdego, które starają się pomóc!

+0

Jak dokładnie używasz tego? –

+0

@SteveKamau, zauważ, że ten fragment kodu ma prawie 6 lat. Nie jestem pewien, czy to jest najlepszy sposób, aby ukryć wiersze w tych dniach. Ale czego dokładnie brakuje? – Noam

Powiązane problemy