KeyEventがUPとDOWNで二回走るので一回だけ処理が実行されるようにKeyEventの判定を追加する必要があります。
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// データバインディング
binding = DataBindingUtil.bind(inflater.inflate(R.layout.fragment_send_mail_and_sms_setting, null))
val view = binding?.root
// 端末上の戻るボタン
view?.apply {
setOnKeyListener { _, keyCode, event ->
if (keyCode == KeyEvent.KEYCODE_BACK && event.action == KeyEvent.ACTION_DOWN) {
backAction()
true
} else {
false
}
}
isFocusableInTouchMode = true
requestFocus()
}
return view
}
// 戻るボタンアクション
private fun backAction() {
}
この記事が参考になれば幸いです。
日々、プログラムを書いたり・Twitterで出来事を発信したりしています。
Twitterのフォロワーも募集中です。
@cloverkizuna
今後ともよろしくお願いします。