I'm trying to migrate from Kotlin synthetics to View Binding. How should I View bind from two different layouts. I'm trying to connect a button from fragment Main layout and from custom dialog layout. Right now I can connect button id from fragment main layout.Example code below:
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()
}
}
}
}
If you want to get a hold of dialog binding you can do the following
val dialogBinding = AddItemDialogBinding.bind(dialogView)