У меня есть AutoCompleteTextView в моем приложении, которое работает. Я успешно создал onClickItemListener. Вопрос заключается в том, как захватить текст, выбранный пользователем. И вот что: у меня есть ArrayList со словами, передаваемыми адаптеру для поиска предложений. Поскольку пользователь вводит слово, список предложений становится короче (в строках на стороне пользовательского интерфейса), поэтому, когда я хочу получить слово из ArrayList в индексе, выбранном пользователем, я получаю неправильное слово, потому что индексы не совпадают. Как я могу получить текст (String), который выбрал пользователь, без необходимости связываться с индексом? Вот мой код:как получить текст из autocomplete textview android
public class AutocompleteActivity extends BaseActivity {
private DBManager m_db;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.autocomplete);
m_db = new DBManager(this);
final ArrayList<String> words = m_db.selectAllWords();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listitem, words);
AutoCompleteTextView tv = (AutoCompleteTextView)findViewById(R.id.autocomplete);
tv.setThreshold(1);
tv.setAdapter(adapter);
tv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
Log.i("SELECTED TEXT WAS------->", words.get(arg2));
}
});
}
}
Спасибо за добавление этого фрагмента кода, это помогло тем, что заняло у меня почти 6 часов. +1 для этого – Android
Код работал. Маленький наконечник для начинающих, таких как я. После вставки этого кода нажмите на поле и введите письмо, чтобы увидеть, как окно предложений опускается. Я вставил код, нажал на файл и подождал, пока появится окно предложений POPUP, которое никогда не откроется. Но есть метод showDialogBox() для отображения POPUP. – Pravin