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