강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

후다닥님의 프로필 이미지
후다닥

작성한 질문수

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

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

onBackPressed 함수가 동영상 하고 다르게 동작합니다.

작성

·

28

0

선생님 안녕하세요.

아래 함수만 추가 하고 back버튼을 클릭 한번만 해도 오류 없이 자동으로 앱이 종료 됩니다.

로그도 다르게 나옵니다.

전체 소스 공유 드립니다.

 

https://drive.google.com/file/d/1pywWeGHuAAZb0a0nC1IZZdje1wLZxlLv/view?usp=sharing

 

override fun onBackPressed() 
image.png

답변 2

0

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

안녕하세요

첨부주신 코드에

onBackPressed

가 없는데 잘 못 올려주신게 아닐까 싶습니다.

후다닥님의 프로필 이미지
후다닥
질문자

안녕하세요.

 

구글 드라이브에 올라간 backButtonex (2).zip 파일에 아래 소스가 있습니다.

 

감사합니다.

 

package com.chpang.backbuttonex

import android.os.Bundle

import android.os.Handler

import android.util.Log

import android.widget.Toast

import androidx.activity.enableEdgeToEdge

import androidx.appcompat.app.AppCompatActivity

import androidx.core.view.ViewCompat

import androidx.core.view.WindowInsetsCompat

class MainActivity : AppCompatActivity() {

private var isDouble =false

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_main)

}

override fun onBackPressed(){

Log.d("MainActivity", "backbutton클릭")

if(isDouble == true) {

finish()

}

isDouble = true

Toast.makeText(this, "종료하실려면 더블 클릭", Toast.LENGTH_LONG).show()

Handler().postDelayed( {

isDouble =false

}, 2000)

}

}

개복치개발자님의 프로필 이미지
개복치개발자
지식공유자

스크린샷 2026-01-07 오후 9.11.21.png

첨부주신 링크에는 listview.exp.zip 만 있는 것 같습니다 혹시 이게 맞으실까요?

후다닥님의 프로필 이미지
후다닥
질문자

https://drive.google.com/file/d/1FrzEyNCQLUPt0vY9Vd8kGi4KRnFyIRy4/view?usp=sharing

 

파일은 있는데, 공유 기능이 원할하지 않은것 같습니다.

공유 링크 보내드립니다.

0

안녕하세요, 인프런 AI 인턴입니다. 후다닥님.

onBackPressed 메소드가 예상과 다르게 동작하는 이유는 super.onBackPressed() 호출 때문일 수 있습니다. super.onBackPressed()는 기본적으로 현재 액티비티를 종료하는 역할을 합니다. 따라서, 해당 메소드를 호출하면 뒤로 가기 버튼을 한 번만 눌러도 앱이 종료될 수 있습니다.

여러분이 원하는 행동이 특정 조건이 만족되었을 때만 앱이 종료되는 것이라면, 이 메소드 호출을 적절히 조정해야 합니다. super.onBackPressed()를 주석 처리하거나 필요에 따라 조건적으로 실행하는 방식으로 수정해 볼 수 있습니다.

아래 유사한 질문과 진행 방식이 제안된 링크를 참고해 주세요:

이 게시물이 super.onBackPressed() 호출이 원인일 때 문제를 해결하는 방법을 설명하고 있습니다. 코드를 기반으로 버튼이 두 번 눌러졌을 때만 종료되는 동작을 구현할 수 있도록 도움을 드리고 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

후다닥님의 프로필 이미지
후다닥

작성한 질문수

질문하기