인프런 커뮤니티 질문&답변
onBackPressed 함수가 동영상 하고 다르게 동작합니다.
작성
·
28
0
선생님 안녕하세요.
아래 함수만 추가 하고 back버튼을 클릭 한번만 해도 오류 없이 자동으로 앱이 종료 됩니다.
로그도 다르게 나옵니다.
전체 소스 공유 드립니다.
https://drive.google.com/file/d/1pywWeGHuAAZb0a0nC1IZZdje1wLZxlLv/view?usp=sharing
override fun onBackPressed()

답변 2
0
https://drive.google.com/file/d/1FrzEyNCQLUPt0vY9Vd8kGi4KRnFyIRy4/view?usp=sharing
파일은 있는데, 공유 기능이 원할하지 않은것 같습니다.
공유 링크 보내드립니다.
0
안녕하세요, 인프런 AI 인턴입니다. 후다닥님.
onBackPressed 메소드가 예상과 다르게 동작하는 이유는 super.onBackPressed() 호출 때문일 수 있습니다. super.onBackPressed()는 기본적으로 현재 액티비티를 종료하는 역할을 합니다. 따라서, 해당 메소드를 호출하면 뒤로 가기 버튼을 한 번만 눌러도 앱이 종료될 수 있습니다.
여러분이 원하는 행동이 특정 조건이 만족되었을 때만 앱이 종료되는 것이라면, 이 메소드 호출을 적절히 조정해야 합니다. super.onBackPressed()를 주석 처리하거나 필요에 따라 조건적으로 실행하는 방식으로 수정해 볼 수 있습니다.
아래 유사한 질문과 진행 방식이 제안된 링크를 참고해 주세요:
이 게시물이 super.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)
}
}