2

我在我的應用程序中有一個AutoCompleteTextView,但DropDownMenu中的每個項目比顯示的要多得多。防止自動完成文字視圖減少結果

我有我自己的ArrayAdapterAutoCompleteTextView,當用戶開始輸入任何東西autocompleteTextView開始減少下拉列表中。這是我想改變的。用戶鍵入一個新的字母,I'm使得從database一個新的搜索,並想顯示所有在下拉菜單彈出的每一個時間,也就是我不想讓autocompleteTextView減少列表由於什麼用戶正在鍵入。

所以,我的問題是,有沒有辦法阻止autocompleteTextView減少結果,還是更容易只用我自己的下拉菜單做一個編輯文本視圖?

謝謝。

+0

我認爲EditText選項是實現此功能與autoCompleteTextView相比的最佳方式。 –

回答

1

最後,我發現非常完美的解決方案。只是想分享它,因爲我花了很多時間才能實現它。

AutoCompleteTextView沒有任何方法來設置沒有過濾器,或任何方式來使用自定義文件管理器。

正如我寫了我有一個自定義ArrayAdapter到AutoCompleteTextView。所以我所做的就是在一個ArrayAdapter類,重載函數用getFilter

並將信譽給發佈答案here的人。

@Override 
    public Filter getFilter() { 
    return new KNoFilter(); 
} 

private class KNoFilter extends Filter { 

    @Override 
    protected FilterResults performFiltering(CharSequence arg0) { 
     FilterResults result = new FilterResults(); 
      result.values = searchResults; 
      result.count = searchResults.size(); 
     return result; 
    } 

    @Override 
    protected void publishResults(CharSequence arg0, FilterResults arg1) { 
     notifyDataSetChanged(); 
    } 
}