我正在从sqlite数据库中检索20个名称并以listview
的形式显示它们。他们没有分类。我使用filter
并按字母顺序对它们进行排序,以避免不必要的滚动。我也有edittext
。当我键入一个键时,它与listitems
匹配并过滤列表。每个listitem
都有一个相应的文本,
现在的问题是,当我排序和过滤时,listitem
的位置会发生变化。当我点击它时,它会显示当前位置文本和listitem
的文本。
例如:我有3个DB条目
ROWID NAME DESCRPTION
1 RASHMI I AM FRM INDIA
2 RICHA I AM FROM USA
3 STELLA I AM FROM CANADA.
我的列表视图仅显示NAME
列。现在当我在S
中按edittext
时,STELLA
从第3位到第1位。当我点击listitem
时,它会显示I AM FROM INDIA
而不是I AM FROM CANADA
{{1}}。每个操作都是从SQLite DB进行的。
答案 0 :(得分:0)
发布您的适配器代码。
如果您正在更改适配器上的光标,则可能是。请务必通过调用
从适配器获取光标 Cursor c = adapter.getCursor()
c.moveToPosition(position);
String description = c.getString(c.getColumnIndex("DESCRIPTION"));
关键是将光标移动到列表中的所需位置。还要确保您将附加的光标用于listView而不是先前保存的实例,或者在将其分配给适配器时使用第一个查询。