Ответ 1
Попробуйте AutoCompleteTextView#getListSelection()
.
AutoCompleteTextView mActv = (AutoCompleteTextView) findViewbyId(R.id.m_actv);
ArrayAdapter<String> AutoCompleteAdapter = new ArrayAdapter<String>(this,
R.layout.dropdown_text, Names);
mActv.setAdapter(AutoCompleteAdapter);
Имена - это массив строк.
Можно ли получить индекс текста, выбранного из раскрывающегося списка
Спасибо.
Попробуйте AutoCompleteTextView#getListSelection()
.
Просто добавьте OnItemClickListener
(для щелкнутого элемента) или OnItemSelectedListener
(для элементов, снятых с помощью клавиш трекбола, вверх/вниз) до AutoCompleteTextView
mActv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View arg1, int pos,
long id) {
String item = arg1.getItemAtPosition(pos);
//your stuff
}
});
Внедрите onItemClickListener для AutoCompleteTextView, затем используйте indexOf в своем списке, чтобы найти индекс выбранного элемента.
actvCity.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
int index = cityNames.indexOf(actvCity.getText().toString());
// Do Whatever you want to do ;)
}
});
Item.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//// id contains item if from database
ItemNoSelected = id;
}
});
id из базы данных, мы можем использовать его