Несколько вещей, на которые следует обратить внимание:
private lateinit var listView ListView
Это приводит к ошибке, поскольку вы не указали тип объекта "listView".
В kotlin типы объектов:указывается после двоеточия, продолжающего имя объекта, т.е.
private lateinit var listView: ListView
Далее,
listView = rootView.findViewById(R.id.chatroom_list_view) as ListView
Kotlin использует расширения kotlin (kotlinx), которые ищут вашу иерархию представления в контексте для идентификатора, которыйпринадлежит типу объекта, которому он назначается.то есть.Достаточно просто сказать
listView = rootView.chatroom_list_view
, где rootView равен
rootView = inflater.inflate(R.Layout.chatroom, container, false)
, который должен быть объявлен до , когда вы используете дочерние элементы из этого представления.
Следующая вещь
val testList = "hu, tu, su, send, pe, t"
неявно имеет тип String
Если вы проверите документацию , ArrayAdapter (объявленный так, как вы хотите) занимает нескольковводит в качестве третьего параметра, строка которого не упоминается.
Обратитесь к руководству Kotlin reference , чтобы увидеть, как объявляется массив строк.
И последнее, что нужно сделатьпримечание
ArrayAdapter(this,..,..)
В этой области это - ваш фрагмент.Что не является контекстом.Используйте:
context
, который вызывает метод свойства get для фрагмента getContext () .Или:
activity
, который возвращает контекст вашей активности.