【发布时间】:2019-11-03 15:42:28
【问题描述】:
在我的应用程序中,我有一些使用 ArrayAdapter 的 AutoCompleteTextView 小部件。
private List<String> adapterList = new ArrayList<String>();
ArrayAdapter<String> dropdownAdapter;
dropdownAdapter = new ArrayAdapter<>(getContext(), R.layout.simple_dropdown_item, adapterList);
autoCompleteTextView.setAdapter(dropdownAdapter);
效果很好。当我在视图中键入内容时,我会在下拉列表中看到以单词开头的结果。
我想使用另一个 AutoCompleteTextView 来执行此操作,但这次使用的是 SimpleCursorAdapter。
nameSearchCursor = dbHelper.getChecklistTabDataByChecklistId(outingId, checklistId, nameColumn);
NameSearch = root.findViewById(R.id.SearchNames);
String[] nsColumns = new String[]{nameColumn};
int[] nsTo = new int[]{R.id.simpleDropdownItem};
nameSearchCursorAdapter = new SimpleCursorAdapter(getContext(), R.layout.simple_dropdown_item,
nameSearchCursor, nsColumns, nsTo, 0);
NameSearch.setAdapter(nameSearchCursorAdapter);
如果我开始在这个新视图中输入,下拉菜单会出现并显示整个列表,并且在我输入时没有任何变化。不发生过滤。我需要做些什么不同的事情(也许是为什么)才能让 CursorAdapter 与这个 View 一起工作,而我在使用 ArrayAdapter 时不需要这样做。我已经搜索了这个站点并阅读了开发人员文档,一定有一些我没有得到的东西。请赐教。
【问题讨论】:
标签: android autocompletetextview simplecursoradapter