LoginSignup
1
1

More than 3 years have passed since last update.

Android ViewBingdingでFlagmentを使用するときの定型文に使われる構文の解説

Last updated at Posted at 2021-01-14

前書き

 Android ViewBingdingでFlagmentを使用するときの次のような定型文が使われます。初心者の私には瞬間理解できなかったので、解説を残します。いくつかキーワードを残しますので、説明が不十分でしたら、それを頼りに調べなおしてください。

class TitleFragment : Fragment() {
    private var _binding: FragmentTitleBinding? = null
    private val binding get() = _binding!!    // <---この行について解説
// 以下省略
}

1.!!マーク

 これは!! Operator(!!演算子)です。null許容型の変数_bindingに!!を付けることにより、_bindingを強制的に非null許容型に変換し、非null許容型の変数bindingに代入することを可能にしています。
(参考文献:野崎英一著「やさしいKotlin入門」)p219
(参考ページ:The !! Operator

2. get()

 これは、クラスプロパティのアクセッサのゲッターです。
 次の構文と同じ意味です。

private val binding: FragmentTitleBinding
        get() {
            return _binding!!
        }

(参考文献:野崎英一著「やさしいKotlin入門」)p166 コード24.7

後書き

参考になりましたか?
なおこの問題は、金田著「はじめてのAndroidプログラミング “第5版”を写経しているときに気が付きました。また、同様の構文は、Android デベロッパードキュメントガイドビュー バインディングにも記述があります。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1