Skip to content

Latest commit

 

History

History
65 lines (47 loc) · 2.05 KB

README.md

File metadata and controls

65 lines (47 loc) · 2.05 KB

BindingExtension

CircleCI jitpack

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.

Install

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'
}

Usage

Activity

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)
    }
}

Fragment

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.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/Jintin/BindingExtension.

Buy Me A Coffee