본문 바로가기
Android

Back Button Click Listener

by kldaji 2021. 7. 8.
// ${fragmentName}
class ${fragmentName} : Fragment() {
    // callback 변수
    private lateinit var callback: OnBackPressedCallback
    
    override fun onCreateView(
            inflater: LayoutInflater, container: ViewGroup?,
            savedInstanceState: Bundle?
    ): View? {
        // binding
        val binding: ${fragmentName}Binding = DataBindingUtil.inflate(
                inflater, R.layout.${fragmentName}, container, false
        )

        return binding.root
    }

    // Back Button Click Listener Code
    override fun onAttach(context: Context) {
        super.onAttach(context)
        callback = object : OnBackPressedCallback(true) {
            override fun handleOnBackPressed() {
                /*
                 * 여기에 원하는 코드를 작성한다.
                 */
            }
        }
        requireActivity().onBackPressedDispatcher.addCallback(this, callback)
    }

    // Back Button Click Listener Code
    override fun onDetach() {
        super.onDetach()
        callback.remove()
    }

}