android autocompletetextview из нескольких элементов в массиве - PullRequest
0 голосов
/ 11 апреля 2020

Я надеюсь, что кто-то может поделиться тем, как мне создать 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, и автозаполнение обеспечивает соответствующие результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...