KotlinでViewのバインドをするのに、ButterKnifeの代わりにKotterKnifeを使うというのは、素直な選択だと思うのですが、Fragmentで使う場合、Fragmentの性質とKotterKnifeの実装の関係から、意図したとおりには動作しないことがあります。 KotterKnifeはなにをしてくれる? KotterKnifeでは、KotlinのDelegationを利用して、変数の初期化を遅延して、必要なときにfindViewById()してくれます。 ただし、一度、findViewById()で見つけたViewはキャッシュ(メモ化)して、それ以後はキャッシュしたViewを返すようになっています。 Fragmentのライフサイクルを思い出してみよう Fragmentで画面遷移をする場合、遷移先から戻ってくるとき(バックスタックから戻されるとき)、onCreateVie