@NovichokIvanovich
начинающий программист

Как правильно добавить слушателя в андроид на котлин?

решил изучить котлин и андроид по книге head first android и на странице 301 код добавления слушателя не работает

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        val itemClickListener:AdapterView.OnItemClickListener = AdapterView.OnItemClickListener() {
            fun onItemClick(AdapterView<?> listView, itemView: View, position:Int, id: Long) {
                if(position == 0) {
                    val intent = Intent(MainActivity.this, DrinkCategoryActivity.class)
                            startActivity(intent)
                }
            }
        }

        val listView:ListView = findViewById<ListView>(R.id.list_options)
        listView.setOnClickListener(itemClickListener)
    }


нужна помощь разобраться что да как
ошибка возникает вот тут itemClickListener:AdapterView
  • Вопрос задан
  • 559 просмотров
Решения вопроса 1
TranE91
@TranE91
Senior Android Engineer
У Вас не объявлен анонимный класс.
val itemClickListener: AdapterView.OnItemClickListener = object : AdapterView.OnItemClickListener {
    override fun onItemClick(p0: AdapterView<*>?, p1: View?, p2: Int, p3: Long) {
        TODO("not implemented") 
    }       
}


либо через лямбду

val itemClickListener: AdapterView.OnItemClickListener = AdapterView.OnItemClickListener { p0, p1, p2, p3 ->
    TODO("not implemented") 
}


https://kotlinlang.ru/docs/reference/nested-classe...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы