我有一个SQLite表任务,我想在ListView中显示具有最高“优先级”的5个任务。改变SQLite游标?
优先级是一个复杂的计算,所以我不能只是在SQL中计算它,并命令/限制结果。为了实现这个目标,我想要获得一个Cursor的所有任务,通过行来计算和设置一个“优先级”数字,并删除/重新排列光标的行,以便它只显示第一个5.
从我发现,我可以通过扩展Cursor设置一个“优先级”值的行,以便它暴露CursorWindow。
不幸的是,我还没有找到一种方法来改变光标的行来删除/排序它们。
有没有办法做到这一点?如果没有,我也开放给其他高效的设计替代品。
当然,我可以在表格中添加一个“优先级”列,每次更新它,然后按顺序/限制进行选择,但这不是非常有效。
我想我也可以在适配器中进行过滤/排序,但我不认为这是适配器应该做的那种工作。
使用'android.database.CursorWrapper'和覆盖'moveToPosition'和'getCount'方法 – pskink
如何计算优先级? –
难道你不能创建一个SQL'View',你会在哪里找到计算的优先级? –