簡體   English   中英

使用按鈕刪除 LinearLayout,該按鈕位於此 LinearLayout 內

[英]Remove LinearLayout with a button, which is inside this LinearLayout

我在 android 工作室中創建了一個自定義線性布局。 此布局以編程方式膨脹為另一個垂直布局。 現在我想在這個布局里面給map一個按鈕,里面可以刪除整個object。 這是我的布局:

截屏

如您所見,“在此處刪除”按鈕應刪除 3 個項目,時間、工作日和按鈕本身。

這是我的 class 和這里

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)

問題是我如何用按鈕刪除 object? 我嘗試在 btnDelete.setOnClickListener() 中使用 alarmCards.removeView(this) 但它崩潰了。 :(

謝謝!!

嘗試這個:

btnDelete.setOnClickListener {
    (getParent() as? ViewGroup)?.removeView(this@AlarmCard)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM