Tag: 监听器

在Android中委派点击监听器

比方说,我有几个按钮,他们的点击是由一个共同的处理程序处理有没有一种方法来定义监听一次,而不是定义每个按钮的onClick属性? <Button android:onClick="handler" /> 也许父母代表在浏览器或一些拦截器…..想象你有50个按钮,你声明每个明确点击每个?

如何在Kotlin中实现setOnClickListener?

我想知道,我们如何在Android开发Kotlin中设置基本onClickListener。

在Kotlin中设置Android监听器 – 在lambdas中使用return

考虑这个监听器代码: expandable_list.setOnChildClickListener { expandableListView, view, groupPosition, childPosition, l -> Toast.makeText( applicationContext, listDataHeader[groupPosition] + " : " + listDataChild[listDataHeader[groupPosition]]!![childPosition], Toast.LENGTH_SHORT).show() return false} 这将无法正常工作,而我正在得到“返回不允许在这里”错误形式的IDE。 我已经查了一下,结果显示返回在lambda表达式中不起作用,但我试图使用的方法的签名是: public final fun setOnChildClickListener(onChildClickListener:((ExpandableListView!, View!, Int, Int, Long) -> Boolean)! : Unit 我的解决方法是定义我的侦听器逻辑在一个单独的函数,返回布尔如下所示: private fun myBooleanReturningFun(): Boolean { Toast.makeText( applicationContext, "I work from here", Toast.LENGTH_SHORT).show() return false } 然后在我的监听器中调用它: expandable_list.setOnChildClickListener { expandableListView, […]

如何在Kotlin中声明一个函数作为变量

所以我试图在Kotlin中创建一个监听器。 我只想传递一个将在我的代码中执行的方法。 喜欢这个: override fun setButtonClickListener(listener: (text: String) -> Unit) { this.listener = listener } 但是,当我宣布我的听众,我必须这样声明: private var listener : (text: String) -> Unit = null!! 否则,我的AS会抱怨。 但是这个 !! 在一个空对象接缝很奇怪。 我应该如何声明这个监听器? 谢谢!