过滤列表视图后的onlistitemclick

时间:2011-06-16 12:12:24

标签: android sqlite listview

我正在从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进行的。

1 个答案:

答案 0 :(得分:0)

发布您的适配器代码。

如果您正在更改适配器上的光标,则可能是。请务必通过调用

从适配器获取光标
    Cursor c = adapter.getCursor()
c.moveToPosition(position);
String description = c.getString(c.getColumnIndex("DESCRIPTION"));

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