ViewBinding is an amazing tool for Android but it's not so fit in Android development as we still have to do some config. BindingExtension is built to provide a simpler usage.
Add Jitpack repository to your root build.grable
:
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Then add dependency in your module build.gradle
:
dependencies {
implementation 'com.github.jintin:BindingExtension:1.3.0'
}
Extend from BindingActivity
with your actual ViewBinding
type then you can use binding
directly after calling super.onCreate(savedInstanceState)
and you don't have to call setContentView
anymore:
class MainActivity : BindingActivity<ActivityMainBinding>() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding.label.setText(R.string.activity_label)
}
}
Extend from BindingFragment
with your actual ViewBinding
type then you can use binding
directly after super.onCreateView(inflater, container, savedInstanceState)
is called:
class MainFragment : BindingFragment<FragmentMainBinding>() {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
binding.button.setOnClickListener {
binding.button.setText(R.string.fragment_label)
}
}
}
You can go to ./app module for more information.
Bug reports and pull requests are welcome on GitHub at https://github.com/Jintin/BindingExtension.