我尝试了一些变体,其中之一:
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等。
答案 0 :(得分:1)
我不认为你必须做这一切..自动完成应该像自动..
因为你必须告诉它必须用于自动完成的数据,并且你已经完成了。您无需手动执行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
答案 1 :(得分:0)
看看@我的答案..当您获得更新的数据时,通过重置文本非常简单...
autoRailwayFrom.setText(autoRailwayFrom.getText());