2012-10-09 42 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文件夾中的陣列列表的原始大小

相關問題