I would like to programmatically select item from ArrayAdapter<String>
based on String value given if it exists. How can I do it?
I have this solution:
onAddressPickListener = AdapterView.OnItemClickListener { parent, _, position, _ ->
pickedAddress = parent.getItemAtPosition(position).toString()
//do something later
}
addressEt?.onItemClickListener = onAddressPickListener
addressList.addAll(newList)
addressAdapter = AddressPickerAdapter(a, R.layout.address_list_item, addressList)
addressEt?.setAdapter(addressAdapter)
addressEt?.threshold = 0
Somewhere else in code:
address?.let { currAddress ->
val addressIndex = addressList.indexOf(currAddress)
if (addressIndex != -1){
addressAdapter?.let { adapter->
val addressId = adapter.getItemId(addressIndex)
val addressView = adapter.getView(addressIndex, **NONE(convertView)**, **NONE(parent)**)
addressEt?.let { onAddressPickListener?.onItemClick(**NONE(AdapterView)**, **NONE(View)**, addressIndex, addressId) }
}
}
}
Values marked as NONE(something) are unknown parameters. I don't know how or where to get their values from. addressEt is AutocompleteTextView.