4

我正在尝试使用自定义CursorAdapter(通过继承 from CursorAdapter)覆盖bindView(...)newView(...)按照此处的建议(examplecursoradapter)。

但是,当与 一起使用时AutoCompleteTextView,插入的自动完成值(即用户从下拉列表中选择值时输入的值)是 的toString()SqliteCursor。如何使用此方法获取下拉列表中的值?

4

1 回答 1

7

您还需要convertToString(Cursor)为您的自定义 CursorAdapter 定义方法。

例如:

public static class YourAdapter extends CursorAdapter implements Filterable{
    //bindView(), newView() etc...


    @Override
    public String convertToString(Cursor cursor) {
        //returns string inserted into textview after item from drop-down list is selected.
        return cursor.getString(cursor.getColumnIndexOrThrow(NAME_OF_COLUMN_DISPLAYED_IN_DROP_DOWN));
    }
}

您还可以查看 ApiDemos 中的示例(文件 AutoComplete4.java 和 AutoComplete5.java 来自<android-sdk-dir>\samples\android-15\ApiDemos\src\com\example\android\apis\view

于 2012-12-15T17:59:31.447 回答