androidandroid-custom-viewandroid-viewbinding

How to use View Binding on custom views


View Binding got released as part of Android Jetpack

Docs: https://developer.android.com/topic/libraries/view-binding

My question is, how to use view binding with custom views. Google documentation has only show-cased Activity and fragment.

I tried this, but nothing was shown.

LayoutInflater inflater = LayoutInflater.from(getContext());

And then, I used this one, but again, no luck.

LayoutInflater inflater = (LayoutInflater)
            getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);

I guess maybe I don't target the correct layout inflater for my view but not sure.


Solution

  • Just inform the root, and whether you want to attach to it

    init { // inflate binding and add as view
        binding = ResultProfileBinding.inflate(LayoutInflater.from(context), this)
    }
    

    or

    init { // inflate binding and add as view
        binding = ResultProfileBinding.inflate(LayoutInflater.from(context), this, true)
    }
    

    which inflate method to use will depend on the root layout type in xml.