2012-06-13 74 views
0

我嘗試了一些變種,其中之一:如何在文本更改時顯示AutoCompleteTextView的下拉菜單?

tv.addTextChangedListener(new TextWatcher() { 
    @Override 
    public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {} 
    @Override 
    public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) { 
    tv.showDropDown(); 
    } 
    @Override 
    public void afterTextChanged(Editable editable) {} 
}); 

但是,下拉建議節目和一次隱藏(看起來像閃爍)。編輯文本後有什麼辦法顯示下拉菜單嗎?

此外,我添加了一個按鈕(用於測試),並添加了一個onclick監聽器,它調用tv.showDropDown();方法,它運行良好,我的預期(它意味着(恕我直言)在BaseAdapter,Filter中沒有問題等)。

回答

1

我不認爲你必須做這一切..自動完成應該像自動..

爲你必須只告訴它,它必須使用它自動完成和你做voilla數據。你不必做手工tv.showDropDown()

AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country); 
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES); 
textView.setAdapter(adapter); 

其中COUNTRIES是字符串

數組

這裏http://developer.android.com/resources/tutorials/views/hello-autocomplete.html

+0

我使用自定義的BaseAdapter和Filter(並且不會自動顯示)。 –

+0

那麼你應該看看爲什麼它不會自動顯示..通過你的XML看..如果你仍然不知道發佈後xml –

+0

我發現它不想只顯示在Android 2.2 –

相關問題