inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

안드로이드 앱 뒤로가기 버튼 이벤트

누르는 시점에 이미 isDouble이 true가 되어서 종료되어야하는거 아닌가요?

347

사용자ACCOUNT

작성한 질문수 5

0

override fun onBackPressed() {
Log.d("MainActivity", "backbutton")
if(isDouble == true) {
finish()
}
isDouble = true

취소버튼을 눌렀을 때, isDouble이 true면 종료된다고 써있는데

바로 밑에 isDouble이 true라고 써놓으면 누르는 순간 true가 되어서 바로 꺼져야하는 것이 아닌가요?

== true와 =true가 다른건가요?

firebase kotlin android

답변 1

3

dh1402

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

사용자ACCOUNT

답변 감사합니다! 이해가 되었어요.

초기값이 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