ArrayAdapter を使用して AutocompleteTextView のリストを動的に更新しようとしています。このビューを更新するために、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();
}
}