onlistitemclick过滤列表视图

问题描述:

我从一个sqlite数据库retreiving 20名并以listview的形式显示它们。他们是未分类的。我使用filter并按字母顺序对它们进行排序,以避免不必要的滚动。我也有edittext。当我输入密钥时,它会匹配listitems并过滤列表。每个listitem都有它自己的文字,onlistitemclick过滤列表视图

现在的问题是,当我排序和过滤时,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列。现在,当我在edittext中按S,STELLA从位置3到位置1.当我点击那个listitem时,它显示I AM FROM INDIA而不是I AM FROM CANADA。每一个动作都发生在SQLite数据库中。

+0

发布您的代码... – ngesh 2011-06-16 12:22:16

发布您的适配器代码。

如果您正在更改适配器上的光标。一定要通过调用

Cursor c = adapter.getCursor() 
c.moveToPosition(position); 
String description = c.getString(c.getColumnIndex("DESCRIPTION")); 

的关键是将光标移动到列表中所需的位置,以获得从适配器光标。还要确保您将附加的游标用于listView而不是之前保存的实例,或者在将其分配给适配器时从第一个查询中使用。