【发布时间】:2017-07-09 07:28:41
【问题描述】:
我正在尝试弹出一个警告框,询问用户是否要从 ArrayList 中删除一个值,该值在他尝试长按其中一个时显示在 ListView 中
mainListView.setLongClickable(true)
mainListView.setOnItemLongClickListener(object: AdapterView.OnItemLongClickListener {
override fun onItemLongClick(parent: AdapterView<*>, view: View, position:Int, id:Long) {
val alertDialog = AlertDialog.Builder(this@listV)
alertDialog.setTitle("Would you like to delete this ?")
alertDialog.setPositiveButton("Yes") { dialog, whichButton -> mobileArray.removeAt(position);listAdapter.notifyDataSetChanged() }
alertDialog.setNegativeButton("Cancel", { dialog, which -> })
alertDialog.create()
alertDialog.show()}})
但是 OnItemLongClick 函数有一个错误,即
返回类型是“单元”,它不是覆盖的子类型
public abstract fun onItemLongClick(...): android.widget.adapterView.OnItemLongClickListener 中定义的布尔值
我很困惑,因为我对一个简单的“onItemClick”使用了几乎相同的代码,而且效果很好
【问题讨论】:
-
你的 {dialog, which -> ...} 映射到什么?我的意思是“取消”
-
没什么,它会退出对话框提醒