我正在尝试使用自定义CursorAdapter(通过继承 from CursorAdapter)覆盖bindView(...)并newView(...)按照此处的建议(examplecursoradapter)。
但是,当与 一起使用时AutoCompleteTextView,插入的自动完成值(即用户从下拉列表中选择值时输入的值)是 的toString()值SqliteCursor。如何使用此方法获取下拉列表中的值?
我正在尝试使用自定义CursorAdapter(通过继承 from CursorAdapter)覆盖bindView(...)并newView(...)按照此处的建议(examplecursoradapter)。
但是,当与 一起使用时AutoCompleteTextView,插入的自动完成值(即用户从下拉列表中选择值时输入的值)是 的toString()值SqliteCursor。如何使用此方法获取下拉列表中的值?
您还需要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