android - 有没有办法从长按 ListViewItem 获取类项(使用自定义适配器)
问题描述
我有:一堂课
class Cars (Val Name String, Val Type String, Val Year String)
可变列表
var listeCars : MutableList<Cars>? = null
带有编辑和删除菜单项的菜单带有自定义适配器的列表视图此列表视图已注册为上下文菜单
registerForContextMenu(listView)
override fun onContextItemSelected(item: MenuItem): Boolean {
val info = item.menuInfo as AdapterContextMenuInfo
val carx = listeConsultations!![info.position]
// 最后一行不起作用,即使我使用它来代替
val carx = listView.adapter.getItem(info.position) as Car
// 因为我想检索 Car 类项以像这样对其执行一些操作,
return when {
item.itemId == R.id.menuDelete -> {
deleteCar(carx)
true
}
item.itemId == R.id.menuEdit -> {
updateCar(carx)
true
}
else -> super.onContextItemSelected(item)
}
}
private fun updateCar(carx: Car?) {
val builder = AlertDialog.Builder(applicationContext)
builder.setTitle("Edit Car")
val inflater = LayoutInflater.from(applicationContext)
val view = inflater.inflate(R.layout.edit_car,null)
// .....
}
private fun updateCar(carx: Car?) {
// .....
}
解决方案
override fun onContextItemSelected(item: MenuItem): Boolean {
when(item){
is Cars -> {
//item is Cars Type in this brace
}
}
...
}
希望这可以帮助。
推荐阅读
- java - Spring Integration:如何全局配置 header-mapper
- python-3.x - Python:如何检查列表中每个子列表中的第一项是否为连续数字和第二个数字是否相同?
- python - pd.to_datetime 没有以正确的格式生成
- javascript - Vue组件渲染期间多次调用的函数
- regex - 带有冒号并用双引号括起来的文本的正则表达式
- python - Django REST Framework URLPathVersioning 不起作用
- c - 如何在结构内部和主外部分配内存?
- scala - 如何从 maptype 中提取键以在 agg 函数中使用它(spark 数据框)
- git - git忽略某些子目录/文件夹及其内容
- node.js - 带有模拟数据的 GraphQL 无法查询所有结果