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

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

最佳答案

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

例如:

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 中的示例(来自 <android-sdk-dir>\samples\android-15\ApiDemos\src\com\example\android\apis\view 的文件 AutoComplete4.java 和 AutoComplete5.java

关于android - 如何在 AutoCompleteTextView 中使用自定义 CursorAdapter?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13893977/

10-13 04:18