View Bindingはv3.6でリリースされました。
ドキュメント: https://developer.Android.com/topic/libraries/view-binding
私の質問は、カスタムビューでビューバインディングを使用する方法です。 Googleのドキュメントには、ショーケースのアクティビティとフラグメントのみが含まれています。
試しましたが何も表示されませんでした。
LayoutInflater inflater = LayoutInflater.from(getContext());
そして、私はこれを使いましたが、やはり運がありませんでした。
LayoutInflater inflater = (LayoutInflater)
getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
おそらく、私は自分のビューに合った適切なレイアウトインフレーターを対象にしていないかもしれませんが、それについてはわかりません。
ルートビューでビューバインディングを使用しようとしている場合、これは私にとってはうまくいきます:
class CustomView @JvmOverloads constructor(
context: Context,
attrs: AttributeSet? = null,
defStyleAttr: Int = 0
) : ConstraintLayout(context, attrs, defStyleAttr) {
private lateinit var binding: CustomViewBinding
override fun onFinishInflate() {
super.onFinishInflate()
binding = CustomViewBinding.bind(this)
}
}