如何在 BottomSheetDialog 上使用视图绑定
How to use View Binding on BottomSheetDialog
我正在尝试在我的 MainActivity 中创建一个 BottomSheetDialog,但现在我正在使用合成来绑定我的视图。但现在我不知道如何将 ViewBinding
附加到我的 BottomSheetDialog
.
这是我使用合成材料所做的。
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
dialogView = LayoutInflater.from(this).inflate(R.layout.test_dialog, dialog.mainContainer, false)
dialog.setContentView(dialogView)
这就是让我感到困惑的地方 ViewBinding
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
binding = TestDialogBinding.inflate(?)
dialog.setContentView(binding.root)
从上面的示例中,我想知道我应该用什么填充参数,因为与 activity 不同,在 activity 中我可以只用 layoutInflater
或 [=16 填充该参数=]
我无法用
填充该参数的适配器
LayoutInflater.from(parent.context), parent, and false
.
您还可以创建 LayoutInflater :
val inflater = LayoutInflater.from(requireContext())
然后将 inflate 传递给:
binding = TestDialogBinding.inflate(inflater)
对于绑定,请按照所述进行操作:
bottomSheetDialog = BottomSheetDialog(mContext, R.style.BottomSheetDialogStyle)
mBottomSheetBinding = TestDialogBinding.inflate(layoutInflater, null, false)
bottomSheetDialog.setContentView(mBottomSheetBinding!!.root)
bottomSheetDialog.show()
在你的BottomSheetDialog
class中定义绑定变量:
private var binding: BottomSheetDatePickerBinding
然后你可以覆盖init
init {
binding = BottomSheetDatePickerBinding.inflate(
LayoutInflater.from(context)
)
setContentView(binding.root)
}
我正在尝试在我的 MainActivity 中创建一个 BottomSheetDialog,但现在我正在使用合成来绑定我的视图。但现在我不知道如何将 ViewBinding
附加到我的 BottomSheetDialog
.
这是我使用合成材料所做的。
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
dialogView = LayoutInflater.from(this).inflate(R.layout.test_dialog, dialog.mainContainer, false)
dialog.setContentView(dialogView)
这就是让我感到困惑的地方 ViewBinding
dialog = BottomSheetDialog(this, R.style.BottomDialogStyle)
binding = TestDialogBinding.inflate(?)
dialog.setContentView(binding.root)
从上面的示例中,我想知道我应该用什么填充参数,因为与 activity 不同,在 activity 中我可以只用 layoutInflater
或 [=16 填充该参数=]
我无法用
LayoutInflater.from(parent.context), parent, and false
.
您还可以创建 LayoutInflater :
val inflater = LayoutInflater.from(requireContext())
然后将 inflate 传递给:
binding = TestDialogBinding.inflate(inflater)
对于绑定,请按照所述进行操作:
bottomSheetDialog = BottomSheetDialog(mContext, R.style.BottomSheetDialogStyle)
mBottomSheetBinding = TestDialogBinding.inflate(layoutInflater, null, false)
bottomSheetDialog.setContentView(mBottomSheetBinding!!.root)
bottomSheetDialog.show()
在你的BottomSheetDialog
class中定义绑定变量:
private var binding: BottomSheetDatePickerBinding
然后你可以覆盖init
init {
binding = BottomSheetDatePickerBinding.inflate(
LayoutInflater.from(context)
)
setContentView(binding.root)
}