android - 使用按钮删除 LinearLayout,该按钮位于此 LinearLayout 内
问题描述
我在 android studio 中创建了一个自定义线性布局。此布局以编程方式膨胀为另一个垂直布局。现在我想在这个布局中映射一个按钮,它可以删除整个对象。这是我的布局:
如您所见,“在此处删除”按钮应删除 3 个项目,时间、工作日和按钮本身。
这是我的课,在这里
class AlarmCard @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyle: Int = 0,
defStyleRes: Int = 0,
) : LinearLayout(context, attrs, defStyle, defStyleRes) {
init {
LayoutInflater.from(context)
.inflate(R.layout.alarmcard, this, true)
btnDelete.setOnClickListener(){
**/* Call destructor or remove view !?!*/**
}
}
}
它被添加到线性布局中:
val monday = AlarmCard(this)
alarmCards.addView(monday)
问题是我如何用按钮删除对象?我尝试在 btnDelete.setOnClickListener() 中使用 alarmCards.removeView(this) 但它崩溃了。:(
谢谢!!
解决方案
尝试这个:
btnDelete.setOnClickListener {
(getParent() as? ViewGroup)?.removeView(this@AlarmCard)
}
推荐阅读
- javascript - 未捕获的类型错误:dashboard.draw 不是函数 - Google Graphs
- python-3.x - 导入多个模块并从模块中导入类
- c# - 计算并插入 20 年的财务期间、月份、开始和结束日期的财务年度
- icalendar - 我无法在 Google 日历中识别我的定期活动
- postgresql - 查询使用关键对象名称的地方
- netsuite - Netsuite 高级 PDF - 检索自定义首选项
- azurekinect - Kinect DK 创建录音
- googletest - 预期失败,但测试仍然通过
- graphql - 如何处理返回布尔值的 GraphQL 查询?
- javascript - 在 JavaScript 中将 src 属性更改为 data-src