2012-10-09 114 views
1

我每第3/4个字母都动态更新我的AutoCompleteTextView。动态更新AutoCompleteTextView有时不会显示建议

由于某些原因,当用户输入第三个字母时,大约有5-10%的时间,尽管我知道确实我正在生成一个有效的数组列表并且填充AutoCompleteTextView,但它并不显示为唯一的情况。我注意到的一致是,没有出现的单词列表是从长度5-15(其他范围是50+)

任何想法是怎么回事?我是否错过了一些关于AutoCompleteTextView的内容,它不认为显示10个左右的建议是值得的,如果datalist不是那么大?我应该添加不相关的文件数据还是会影响性能?由于

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

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

回答

0

原来有这种情况发生非常频繁,如果我的动态加载列表是非常小的,我原来的列表(它来自我的RES文件夹)基本上是大的(500左右),一个奇怪的故障。它不会在动态加载的列表很大时出现问题,它可能会给AutoCompleteTextView足够的时间以在加载时显示建议?不确定。

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

相关问题