누르는 시점에 이미 isDouble이 true가 되어서 종료되어야하는거 아닌가요?
347
작성한 질문수 5
override fun onBackPressed() {
Log.d("MainActivity", "backbutton")
if(isDouble == true) {
finish()
}
isDouble = true
취소버튼을 눌렀을 때, isDouble이 true면 종료된다고 써있는데
바로 밑에 isDouble이 true라고 써놓으면 누르는 순간 true가 되어서 바로 꺼져야하는 것이 아닌가요?
== true와 =true가 다른건가요?
답변 1
3
onBackPressed에서 위와 같은 경우는,
초기값이 false라고 생각해 보세요
그렇다면, 처음 Back키를 눌렀을때 onBackPressed가 실행되겠죠?
초기값은 false이니 if문은 실행되지 않고
isDouble = true가 실행될 겁니다.
그 후에, 한번 더 Back키를 누르면,
isDouble은 true인 상태이니
finish()가 실행되어 종료될 것입니다.
== true와 =true가 다른건가요? 라는 질문에 관해서는
1. == 는 일치하는지를 나타내는 표현입니다
예를들어 x라는 변수가 있다고 합시다.
if ( x == 1) 과 같은 표현을 사용할때
만약 x가 1이라면 이라는 표현으로 == 를 사용합니다.
2. = 는 변수에 값을 지정해줄때 사용합니다
x라는 변수가 있다고 합시다.
x=2 라고 하면, x값에 2가 들어가게 됩니다.
결론 : == 와 =는 사용법 자체가 다릅니다.
==은 비교하는 두개의 대상이 같은지 판별할때 쓰이고
=는 특정 대상에 값을 넣어줄때 사용합니다.
0
답변 감사합니다! 이해가 되었어요.
초기값이 false인 상황에서 취소버튼을 눌렀을 때는 false였기 때문에 아직 꺼지지않은거고
다시 false로 바뀌기 전에 한 번 더 눌러서 true가 되면 그 때 꺼지는거네요. 감사합니다.
주사위앱 소개 및 레이아웃 설정 문제
0
80
2
안드로이드 에뮬레이터가 실행이 안 되요...ㅠ
0
134
2
30 강 소스 좀 올려 주십시요
0
95
2
onBackPressed 함수가 동영상 하고 다르게 동작합니다.
0
106
2
ListView 초기 실행 안됩니다.
0
108
2
코딩을 완료하고난후 앱 실행시 자동 종료
0
82
2
datavinding에서 오류가 납니다.
0
63
1
안드로이드 스튜디오 버전 차이로 초기 empyt activity 선택하면 안됩니다.
0
136
2
context의 구별에 대하여
0
82
2
"프롤로그에서 ..." 오류 관련해 직전 질문에 대한 추가 질문입니다.
0
78
2
"프롤로그에서 콘텐츠가 허용되지 않습니다." 오류
0
180
3
해결완료
1
199
2
databinding 설정후 run하면 에러(해결)
0
233
2
databinding 설정 이후 실행시 에러
0
289
4
안드로이드 입문하는 사람입니다.
0
76
1
Firebase uid
0
90
3
activity_main 화면 다름
0
126
2
강의화면과 다른데 맞게진행되는것인가요...????
0
115
2
파이어베이스 질문
0
83
2
ActivityMainBinding에 오류가 납니다
0
145
2
선생님 onBackPressed 작동이 안되는거 같습니다
0
127
2
>app>res>layout 이 존재하지 않습니다.
0
122
2
안드로이드 스튜디오 미어캣 버전 사용 한글 깨짐
0
777
2
안드로이드 스튜디오 오류 발생 시 대처 방법은 요?
0
305
2





