728x90
반응형
개발하다가 프래그먼트 안에서 회원 탈퇴 구현 시 내가 원하는 구현 방식은 마이페이지 -> 회원 탈퇴 -> 로그인 페이지 -> Back키 -> 어플 종료 이런 식으로 구현을 하려고 했다. 하지만 Back를 눌렀을 때 전에 있던 프래그먼트가 종료가 안되어서 프래그먼트를 종료 시켜야 할 상황이 생긴다.
액티비티에서는 finish()를 해주면 되지만 프래그먼트에서는 그냥 finish()를 쓰면 안 된다.
# 해결 방법
class MypageFragment : Fragment() {
private var mbinding: FragmentMypageBinding? = null
private val binding get() = mbinding!!
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
// Inflate the layout for this fragment
mbinding = FragmentMypageBinding.inflate(inflater,container,false)
val login = Intent(activity,Login::class.java)
binding.googleLogout.setOnClickListener {
signOut()
Toast.makeText(activity,"구글 로그아웃 성공", Toast.LENGTH_LONG).show()
startActivity(login)
activity?.finish()
}
return binding.root
}
/// 구글 로그아웃
private fun signOut() {
FirebaseAuth.getInstance().signOut()
}
}
보면 finish()를 쓰는 건 액티비티와 똑같은데 앞에 activity를 붙여줘서 activity 가져온 후 finish()를 사용해준다. 그럼 내가 원래 하려던 구현이 잘 되는 것을 알 수가 있다.
반응형
'소소한 개발 꿀팁' 카테고리의 다른 글
안드로이드 스튜디오 로그캣(Logcat) 이전 버전으로 돌아가기(돌핀 이전) (0) | 2022.11.27 |
---|---|
[Android] getAdapterPosition() Deprecated 해결 방법 (0) | 2022.08.20 |
프래그먼트 안에서 Activity,context 가져오기 (0) | 2022.03.30 |
[Android]안드로이드 개발시 다크 모드 무시/해제 하기 (0) | 2022.03.01 |
다른 액티비티에서 특정 액티비티 종료하기 (0) | 2022.01.05 |