首页 > 解决方案 > 如何在 Kotlin 中查看绑定多个布局

问题描述

我正在尝试从 Kotlin 合成迁移到 View Binding。我应该如何从两种不同的布局中查看绑定。我正在尝试从片段主布局和自定义对话框布局连接一个按钮。现在我可以从片段主布局连接按钮 id。下面的示例代码:

class MainFragment: Fragment(R.layout.fragment_main) {

    private var fragmentMainBinding: FragmentMainBinding? = null

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)

        // Main fragment viewbinding
        val binding = FragmentMainBinding.bind(view)
        fragmentMainBinding = binding

        // FAB button onClick Listener
        binding.fabAddItem.setOnClickListener {
            // Inflate add_item_dialog.xml custom view
            val dialogView = LayoutInflater.from(activity).inflate(R.layout.add_item_dialog, null)

            // Add AlertDialog Builder
            val dialogBuilder = AlertDialog.Builder(activity)
                .setView(dialogView)

            //Show custom dialog
            val customAlertDialog = dialogBuilder.show()

            binding.btnClose.setOnClickListener {
                customAlertDialog.dismiss()
            }

        }
    }
}

标签: kotlinandroid-viewbinding

解决方案


如果您想获得对话框绑定,您可以执行以下操作


val dialogBinding = AddItemDialogBinding.bind(dialogView)


推荐阅读