我在每 3 个/第 4 个字母上动态更新我的 AutoCompleteTextView。
出于某种原因,大约 5-10% 的时间在用户键入第三个字母时,虽然我确定我正在制作一个有效的数组列表并填充 AutoCompleteTextView,但它不会针对特殊情况显示。我注意到一致的是,未显示的单词列表长度为 5-15(其他范围为 50+)
知道发生了什么吗?我是否遗漏了一些关于 AutoCompleteTextView 的内容,如果数据列表没有那么大,它认为显示 10 条左右的建议是不值得的?我应该添加不相关的文件管理器数据还是会影响性能?谢谢
这是一些相关的源代码..
用于文本视图的 Textwatcher 检查;
if (((start + count) == 3) || ((start + count) == 4)
|| ((start == 3) && (before >= 1))) {
if (!last.equals(s)) {
thread = new Thread(new AutoCompleteThread(s));
thread.start();
}
}
在我的自定义线程中,我将单词分组......然后我在我的文本视图和适配器上调用它;
if(words.size() > 0)
{
last = s;
// adapter.clear();
// for(String e : words)
// adapter.add(e);
// adapter.notifyDataSetChanged();
adapter = new ArrayAdapter<String>(
getActivity(), android.R.layout.simple_list_item_1, words);
textView.setAdapter(adapter);
textView.showDropDown();
}