Я надеюсь, что кто-то может поделиться тем, как мне создать autoCompleteTextView
, у которого есть данные из arrayList, содержащего 2 записи.
пример arrayList
foo[(bar=001, far=sometext1), (bar=002, far=sometext2), (bar=003, far=sometext3), (bar=004, far=sometext4)]
Что я я пытаюсь добиться, чтобы мой autoCompleteTextView
мог выполнять поиск через 001
ИЛИ sometext1
, и он будет автоматически заполняться этим пунктом в раскрывающемся меню.
В настоящее время приведенный ниже код для autoCompleteTextView
отображает каждый элемент списка в textview
private val fooList: ArrayList<foo> = arrayListOf() // Initializing for AutoCompleteTextView
// loading of data for AutoCompleteTextView
CoroutineScope(Dispatchers.Default).launch {
val db = TestProjDB.getInstance(requireContext())
fooList.addAll(db.fooDao().selectAllFromDb())
}
val adapter = ArrayAdapter(
requireContext(), // Fragment context.
android.R.layout.simple_dropdown_item_1line, // Layout
fooList // Array
)
binding.Fragm1.setAdapter(adapter)
При использовании этого кода выше, когда я вообще что-либо печатаю, автозаполнение дает следующие предложения:
foo(bar=001, far=sometext1)
foo(bar=002, far=sometext2)
foo(bar=003, far=sometext3)
foo(bar=004, far=sometext4)
Вопрос:
1 - Что мне нужно сделать, чтобы при вводе он выдавал предложения в формате:
bar: 001
far: sometext1
bar: 002
far: sometext3
2 - я тоже этого захочу чтобы иметь возможность автозаполнения с помощью поиска с помощью 001
или sometext
, и автозаполнение обеспечивает соответствующие результаты.