1. ホーム
  2. android

カスタムビューでビューバインディングを使用する方法

2023-11-26 06:57:50

質問

Android Jetpack の一部として View Binding がリリースされました。

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

私の質問は、カスタムビューでビューバインディングを使用する方法です。Googleのドキュメントでは、Activityとfragmentしか紹介されていません。

私はこれを試しましたが、何も表示されませんでした。

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

そして、これを使ったのですが、やはりダメでした。

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

私は多分私のビューのための正しいレイアウトインフレータをターゲットにしていないことを推測しますが、よくわかりません。

どのように解決するのですか?

ルートと、それに接続するかどうかを通知するだけです。

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

または

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

どのような方法で膨らませるかは、xmlのルートレイアウトタイプに依存します。