Как скрыть определенные строки курсора в Android - PullRequest
5 голосов
/ 23 апреля 2010

У меня есть курсор, и он получил, скажем, 40 строк, я хочу скрыть несколько строк, когда пользователь установит флажок.

один из способов - снова запустить запрос на курсоре, но это не помогает мне, потому что условие выполняется Java (вычисление баланса, много логики).

Мне нужно что-то, что получит текущую строку и вернет, может ли это быть показано или нет.

любая помощь будет оценена.

1 Ответ

5 голосов
/ 23 апреля 2010

Я наследую CursorWrapper и переопределяю некоторые методы, вот код:

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);
    }
}
}

спасибо всем, кто пытается помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...