ViewBinding is a powerful feature in Android development that helps eliminate findViewById()
calls. But when ViewBinding doesn’t work, it can be frustrating—especially when you’re unsure what went wrong. In this article, we’ll walk you through the common reasons why ViewBinding might fail in Kotlin and how to resolve them with complete code examples.

Common Causes ViewBinding Is Not Working:
- Incorrect Gradle Configuration
- Wrong ViewBinding Usage in Activity/Fragment
- Inflation Error in Fragments
- Missing ViewBinding Enablement
- Build Cache Issues
Step-by-Step Fixes and Code Examples
1. Enable ViewBinding in build.gradle
// build.gradle (Module: app) android { ... viewBinding { enabled = true } }
2. Correct Usage in MainActivity.kt
// MainActivity.kt package com.example.viewbindingdemo import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import com.example.viewbindingdemo.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityMainBinding.inflate(layoutInflater) setContentView(binding.root) binding.textView.text = "Hello ViewBinding" } }
3. Fixing ViewBinding in Fragment
// ExampleFragment.kt package com.example.viewbindingdemo import android.os.Bundle import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment import com.example.viewbindingdemo.databinding.FragmentExampleBinding class ExampleFragment : Fragment() { private var _binding: FragmentExampleBinding? = null private val binding get() = _binding!! override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { _binding = FragmentExampleBinding.inflate(inflater, container, false) return binding.root } override fun onDestroyView() { super.onDestroyView() _binding = null } }
Make sure you handle the nullability correctly in fragments to avoid memory leaks.
4. Clean and Rebuild Project
Sometimes, ViewBinding classes don’t generate due to Gradle sync or build cache issues. To resolve:
- Click Build > Clean Project
- Then click Build > Rebuild Project
Related Tools and Docs
If you’re still facing issues, refer to the official Android ViewBinding documentation.
Summary
ViewBinding not working in Kotlin is typically caused by misconfiguration or incorrect usage in your code. Following the above examples should fix 90% of related issues. Always ensure Gradle is properly synced, use correct inflate methods, and avoid misusing the binding lifecycle.