Как мне правильно использовать адаптер массива ListView для отображения данных из базы данных Firebase в Kotlin?

#android #firebase #kotlin #firebase-realtime-database #android-listview

# #Android #огневая база #котлин #firebase-realtime-database #android-listview

Вопрос:

Как я могу извлекать данные из базы данных Firebase и отображать их в ListView при использовании адаптера массива? Я получаю сообщение об ошибке при использовании адаптера массива. Вот сообщение об ошибке:

«Ни одна из следующих функций не может быть вызвана с указанными аргументами.

(Контекст, Int, Массив<(out) T!>)

где T не может быть выведено для конструктора ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: Array<(out) T!>), определенного в android.widget.ArrayAdapter — адаптер

(Context, Int, Int), где T не может быть выведено для конструктора ArrayAdapter<T : Any!>(context: Context, resource: Int, textViewResourceId: Int), определенного в android.widget.ArrayAdapter — адаптер

(Context, Int, (изменяемый)список<T!>), где T не может быть выведено для конструктора ArrayAdapter<T : Any!>(context: Context, resource: Int, objects: (Изменяемый)список <T!>), определенного в android.widget.ArrayAdapter»

Я должен сказать, что я новичок в Kotlin и Java.

                 //Code in here is run when Firebase DB connection is successful
                if(snapshot.exists()){
                    //
                    for(oneRecord in snapshot.children){
                        val taskListview = findViewById<ListView>(R.id.taskListview)
                        var tasksListViewer = oneRecord.child("task").getValue(String::class.java)
                        val arrayAdapter = **ArrayAdapter**(this,android.R.layout.simple_list_item_1,tasksListViewer)
                        taskListview.adapter = arrayAdapter
                    }
                }
            }
 

Причиной ошибки является фраза ArrayAdapter (выделенная жирным шрифтом) в строке val arrayAdapter = **ArrayAdapter**(this,android.R.layout.simple_list_item_1,tasksListViewer) .

Комментарии:

1. Какое точное и полное сообщение об ошибке?

2. ListView не является TextView, поэтому нет смысла вызывать setText его. Кроме того, ваши данные не являются отдельной строкой или последовательностью символов, поэтому вы все равно не сможете передать их как строку. Прочитайте это: developer.android.com/guide/topics/ui /…

3. Я решил не использовать ListView с setText, как посоветовал @Tenfour04 — в этом есть смысл. Спасибо, ребята.