인프런 커뮤니티 질문&답변
누르는 시점에 이미 isDouble이 true가 되어서 종료되어야하는거 아닌가요?
작성
·
339
답변 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가 들어가게 됩니다.
결론 : == 와 =는 사용법 자체가 다릅니다.
==은 비교하는 두개의 대상이 같은지 판별할때 쓰이고
=는 특정 대상에 값을 넣어줄때 사용합니다.






답변 감사합니다! 이해가 되었어요.
초기값이 false인 상황에서 취소버튼을 눌렀을 때는 false였기 때문에 아직 꺼지지않은거고
다시 false로 바뀌기 전에 한 번 더 눌러서 true가 되면 그 때 꺼지는거네요. 감사합니다.