#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 — в этом есть смысл. Спасибо, ребята.