动态更新AutoCompleteTextView有时不会显示建议

时间:2012-10-09 10:34:36

标签: android textview adapter

我每隔3/4字母动态更新一次AutoCompleteTextView。

出于某种原因,大约有5-10%的时间用户键入第三个字母,虽然我确定我正在制作一个有效的arraylist并填充AutoCompleteTextView,但它并不显示特殊情况。我注意到的一致意思是未显示的单词列表长度为5-15(其他范围为50 +)

知道发生了什么事吗?我是否遗漏了一些关于AutoCompleteTextView的内容,如果数据主义者不那么大,那么它不认为显示10个左右的建议值得吗?我应该添加不相关的文件管理器数据还是会影响性能?感谢

以下是一些相关的源代码..

Textwatcher for text view检查;

    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();
                    }

1 个答案:

答案 0 :(得分:0)

事实证明,如果我的动态加载列表非常小并且我的原始列表(来自我的RES文件夹)非常大(大约500个),则会发生一个奇怪的故障。当动态加载的列表很大时,它不会出现故障,也许它会给AutoCompleteTextView足够的时间在加载时显示建议?不确定。

无论如何,解决方案是降低我在res文件夹中的arraylist的原始大小