How to start using view binding //Android Kotlin Dev Diary

First, open your app/build.gradle file

Inside the android{} block of app/build.gradle, add the following:

buildFeatures { viewBinding = true }

Sync project with gradle files.

In your activity or fragment, define the following class-wide property:

private lateinit var binding: FragmentorActivityNameBinding

Replace the FragmentorActivityNameBinding above with the appropriate binding class name. Tip: The binding class name is based on the XML file’s name. For example, if your XML file name is activity_main.xml, the binding class name should be ActivityMainBinding. Or, if your file name is fragment_main.xml, the binding class name should be FragmentMainBinding.

In your activity, the onCreate function should look like this:

override fun onCreate(savedInstanceState: Bundle?) {

    super.onCreate(savedInstanceState)
    binding = ActivityMainBinding.inflate(layoutInflater)
    val view = binding.root
    setContentView(view)
}

Otherwise, if using view binding in a fragment, your onCreateView should look like this:

override fun onCreateView(
    inflater: LayoutInflater, container: ViewGroup?,
    savedInstanceState: Bundle?
): View {

    binding = FragmentMainBinding.inflate(inflater, container, false)
    binding.lifecycleOwner = viewLifecycleOwner
    binding.viewModel = mainViewModel
    return binding.root
}

Related Posts

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *