gio*_*ski 5 android dynamic autocompletetextview android-arrayadapter textwatcher
我正在尝试使用和ArrayAdapter动态更新AutocompleteTextView的列表.为了更新此View,我使用TextWatcher监视AutocompleteTextView中可能发生的任何更改.
问题是列表根本没有更新,我无法理解为什么.我一直在互联网上寻找类似的东西,我发现了几种不同的方法,但我仍然无法理解为什么这个应该是最简单的方法,不起作用.任何解释都将非常感激.
目标AVD:Google API等级10,Android 2.3.3
这是简化的代码:
public class AutocompleteActivity extends Activity implements TextWatcher {
ArrayAdapter<String> adapter = null;
AutoCompleteTextView acTextView = null;
ArrayList<String> addresses = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocompleteview);
acTextView = (AutoCompleteTextView) findViewById(R.id.autocomplete_address);
adapter = new ArrayAdapter<String>(this, R.layout.listitem, addresses);
adapter.setNotifyOnChange(true);
acTextView.addTextChangedListener(this);
acTextView.setAdapter(adapter);
}
@Override
public void onTextChanged(CharSequence text, int start, int before, int after) {
try {
adapter.add("test");
}
catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
小智 3
在您的源代码中,TextWatcher 被提供给 AutoCompleteTextView,这是真正的问题。
如果你查看AutoCompleteTextView源代码,你会发现AutoCompleteTextView有自己的TextWatcher,名为“MyWatcher”。因此,AutoCompleteTextView 无法响应您的键入操作。
| 归档时间: |
|
| 查看次数: |
4476 次 |
| 最近记录: |