Я пытаюсь запустить ListView с обновлением после изменения listItems в Kotlin. Простые примеры, которые я нахожу здесь, работают, пока я остаюсь внутри activity_main. Но пытаясь изменить элементы в функции, я не получаю определенный адаптер.
мой код:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// access the items of the list
val adapter = ArrayAdapter(this,
R.layout.mylistviewitem, array)
//val listView: ListView = findViewById(R.id.listview_1)
myslist.setAdapter(adapter)
работает и дает мне правильный список.
Но когда Я пытаюсь изменить массив в функции, у меня нет доступа к «адаптеру» и, следовательно, к «адаптеру.notifyDataSetChanged ()». Я пробую это с помощью простой функции
fun myfkt() {
array[1]=" changed?"
adapter.notifyDataSetChanged()
}
Итак, вопрос: как определить адаптер вне функции onCreate (main)
Такие вещи, как
var myadapter = ArrayAdapter(this, R.Layout.mylistviewitem,array)
, не работают. Компиляция в порядке, но приложение сразу вылетает (я действительно потратил часы, но не нашел решения для Kotlin. Взятие кода из java -примеров с автоматическим преобразованием в Kotlin тоже не сработало