如何在自定义视图中保存实例状态

时间:2018-08-13 10:16:40

标签: android radio-button android-custom-view activity-lifecycle

在我的活动中,我有一个自定义视图,该视图添加到RootView的顶部。在自定义视图中,我有两个单选按钮。当我从RootView中删除活动时,单选按钮的状态消失了。如何在没有活动生命周期的情况下保存单选按钮的状态?

这是我的代码,可以更好地理解该问题:

class MyCustomView : View

var myCustomView: View = View.inflate(context, R.layout.custom_view, null)
val closeButton by lazy {
    myCustomView.findViewById(R.id.btn_close) as AppCompatImageView
}

 init {
    val rootView = (context as Activity).window.decorView.findViewById(android.R.id.content) as ViewGroup
    rootView.addView(myCustomView)
    setCloseButtonClickListener(closeButton, rootView)
}

fun setCloseButtonClickListener(closeButton: AppCompatImageView,
                                rootView: ViewGroup) {
    closeButton.setOnClickListener { onCloseButtonClick(rootView) }


fun onCloseButtonClick(rootView: ViewGroup) {
    rootView.removeView(myCustomView)
}

当用户单击关闭按钮时,该视图将从根视图中删除/关闭

0 个答案:

没有答案