Как получить количество предметов в выпадающем списке? (AutoCompleteTextView) - PullRequest
0 голосов
/ 21 марта 2020

Нет ни в resultList, ни в listAdapter, потому что у них есть все элементы из базы данных.

РЕДАКТИРОВАТЬ: dropdownHeight всегда дает -2, независимо от того, сколько элементов он показывает

private fun loadProducts(){
    val db = DataBaseHandler(context)
    allProducts = db.readData_AllProducts()!!
    products = db.readData_AllProductsActivePrefix(true, "001")!!
    products.sortBy { it.prod_description }
    resultList.clear()
    for (prod in products)
        resultList.add(prod.prod_description)
    setAdapter()
}

private fun setAdapter(){
    listAdapter = ArrayAdapter(context, android.R.layout.simple_spinner_dropdown_item, resultList)
    etSearch.setAdapter(listAdapter)
}

Я также искал в своем AutocompleteTextView (в данном случае с именем etSearch) все параметры, содержащие слово "выпадающий список", и не повезло.

Кто-то опубликовал похожее вопрос как 4 года go здесь но ответов нет.

Я хочу проверить размер, поэтому, если осталось только 1, возьмите его из textChangeListener

Бонусный вопрос! Я хотел бы знать, есть ли более эффективный способ передать все prod.prod_description в resultList сразу (без использования оператора for, моя цель API - 19 *)

Заранее спасибо !

* Я занимаюсь разработкой приложения Point of Sales с ограниченными ресурсами, чтобы оно могло работать на старых устройствах

1 Ответ

0 голосов
/ 21 марта 2020

Я думаю, вы имеете в виду это

HTML

<select data-attr="dropdown" id="input1">
   <option value="Male" id="Male">Male</option>
   <option value="Female" id="Female">Female</option>
</select>

Теперь, если вы хотите сделать это с jquery, используйте это

len = $('#input1 option').length;

Или если Вы хотите использовать ваниль javascript

len = document.getElementById("input1").length;

В обоих случаях "len" будет 2

Я знаю, что этот выбор / выпадающий не ваш, но вы поймете, идея.

...