如何在用戶鍵入任何內容之前顯示AutoCompleteTextView的一些默認建議?即使創建了擴展AutoCompleteTextView的自定義類,我也無法找到這樣做的方法。Android:使用默認建議的AutoCompleteTextView
我想顯示常見輸入值的建議以保存用戶輸入。
有什麼建議嗎?
如何在用戶鍵入任何內容之前顯示AutoCompleteTextView的一些默認建議?即使創建了擴展AutoCompleteTextView的自定義類,我也無法找到這樣做的方法。Android:使用默認建議的AutoCompleteTextView
我想顯示常見輸入值的建議以保存用戶輸入。
有什麼建議嗎?
如果你不需要它是動態的,我會通過在資源中有一個字符串數組,然後在AutoCompleteTextView即將被查看時加載數組。像:
public class CountriesActivity extends Activity {
protected void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.countries);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_dropdown_item_1line, COUNTRIES);
AutoCompleteTextView textView = (AutoCompleteTextView)
findViewById(R.id.countries_list);
textView.setAdapter(adapter);
}
private static final String[] COUNTRIES = new String[] {
"Belgium", "France", "Italy", "Germany", "Spain"
};
}
它可以在http://developer.android.com/reference/android/widget/AutoCompleteTextView.html
發現我已經做了幾次,這使得它能夠從用戶學習的是另一種方式o使用與IE瀏覽器的簡單光標一個數據庫連接。當你創建數據庫時,你可以插入一些默認值。 Here's與使用簡單的光標適配器的示例:http://androidcommunity.com/forums/f4/how-to-use-autocompletetextview-with-simplecursoradapter-15875/
編輯1:
一個想法來顯示列表中的用戶開始之前的類型是具有下面的EditText一個簡單的列表視圖。不知道是否可以調用autocompletetextview來顯示建議,應該可以以某種方式進行。也許你需要創建自己的autocompletetextiew類。
您應該子類AutoCompleteTextView
並覆蓋enoughToFilter()
以一直返回true
。之後,您可以撥打performFiltering("",0)
(這是一個受保護的功能,所以您可以通過班級中的公共功能導出此調用)。
類似的東西:
public class ContactsAutoCompleteTextView extends AutoCompleteTextView {
public ContactsAutoCompleteTextView(Context context) {
super(context);
}
public ContactsAutoCompleteTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public ContactsAutoCompleteTextView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
}
@Override
public boolean enoughToFilter() {
return true;
}
public void temp() {
performFiltering("",0);
}
}
伊泰·卡哈那的答案是確實是正確的。我唯一要補充的是,不是創建一個temp()函數,而是重寫onFocusChanged函數。我個人使用以下內容:
@Override
protected void onFocusChanged (boolean focused, int direction, Rect previouslyFocusedRect) {
if(focused)
performFiltering("", 0);
super.onFocusChanged(focused, direction, previouslyFocusedRect);
}
大衛,你的答案只會顯示當用戶開始輸入時的列表。我正在尋找的是在用戶開始輸入之前顯示建議列表(不一定是動態的)。任何想法? –
哦,我想我有點累了。我會看看我能想出什麼。如果我想出新的東西,我會編輯我的答案。 –