Fragmentを作成する手順を書く。Fragmentを作成を作成するにはonCreateView
にてXMLで定義したViewをinflate
で読み込ませる。次に作ったビューを返すことによってできる。その後、onViewCreated
では各ビューに対して初期設定を決めることで、ボタン処理や画面の切り替えを可能にする。
ユーザーが画面から離れた場合はonDestroyView
でbindingをnullにして、画面の処理を実行しないようにする。
private lateinit var binding: TopFragmentBinding
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
binding = TopFragmentBinding.inflate(inflater, container, false)
return binding.root
}
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
// 初期設定を記述する
}
override fun onDestroyView() {
super.onDestroyView()
binding = null
}
下記のライブラリを使用すれば、onCreateViewとonDestroyViewの記述を省略吸うことができる。
implementation("com.github.Zhuinden:fragmentviewbindingdelegate-kt:1.0.0")
下記の1行でビューをバインドすることができ、onDestroyViewでの処理も行ってくれる。
private val binding by viewBinding(TopFragmentBinding::bind)
参考