1

いくつかのバリアントを試しましたが、そのうちの 1 つです。

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();メソッドを呼び出すと、期待どおりにうまく機能します ((IMHO) BaseAdapter、Filter などに問題がないことを意味します)。

4

2 に答える 2

1

私の答え@を見てください..更新されたデータを取得するときにテキストをリセットすることによる非常に単純なハックです...

autoRailwayFrom.setText(autoRailwayFrom.getText());

https://stackoverflow.com/a/15044017/1136023

于 2013-02-23T18:32:00.733 に答える
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

于 2012-06-13T21:11:31.487 に答える