오늘한 일
- A·아이 프로젝트를 진행하였다
- 블로그 TIL을 작성하였다
- 1일 1커밋을 하였다
느낌 점
오늘은 기존에 만들었던 기능을 손을 봐서 다른 기능으로 만들었는데 처음에 쉬울 줄 알았으나 꽤나 애를 먹어서 당황했다 하지만 결국 구현하였는데 그러고 나니 또 여기서 더 고칠 부분이 있지 않을까? 자꾸 고민하게 되는데 코드는 한번에 잘 만들려고 하기보단 우선 구현 후 계속해서 개선하는 내 방법이 맞는건지 의문이 든다
배운 점
android 현재 보이는 Fragment 확인
1
2
3
4
5
val navController = findNavController(R.id.nav_host_fragment)
if (navController.currentDestination?.id != R.id.home) {
}
위 코드는 예시로 현재 보이는 Fragment가 HomeFragment인지 확인하는 코드이다 위 방법을 알게 된 덕분에
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
override fun onBackPressed() {
val navController = findNavController(R.id.nav_host_fragment)
if (navController.currentDestination?.id != R.id.home) {
navController.popBackStack(R.id.home, false)
} else {
if (System.currentTimeMillis() - backPressedTime >= 2000) {
backPressedTime = System.currentTimeMillis()
Toast.makeText(this, "한 번 더 누르면 종료됩니다.", Toast.LENGTH_SHORT).show()
} else {
finish()
}
}
}
현재 Fragment가 HomeFragment라면 2초안에 뒤로가기를 두번 클릭 시 종료되고 아니라면 스택 내 Fragment를 모두 날리고 HomeFragment로 이동하는 코드를 구현할 수 있었다
내일 계획
내일은 A·아이 프로젝트 진행해야겠다