2012-06-13 71 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 –

相关问题