如何在android中隐藏Cursor的特定行

时间:2010-04-23 16:16:28

标签: android sqlite cursor

我有一个光标,它有40行,我想在用户勾选复选框时隐藏一些行。

一种方法是在光标上再次运行查询,但它对我没有帮助,因为条件是由Java完成的(计算余额,有很多逻辑)。

我需要一些可以获得当前行的内容,如果可以显示则返回。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:5)

我继承了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);
    }
}
}

感谢任何试图提供帮助的人!