• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

onBackPressed()가 이제 안된다고 뜹니다

24.02.01 15:53 작성 조회수 171

0

선생님

OnBackPressed()로 해보니 안돼서 검색해보니 이제 OnBackPressedCallback()으로 바꼈다고 뜹니다. 구글링을 해봤으나 강의코드와 많이 달라져서 어디부터 어디까지 건드려야할지 감이 안잡힙니다.

답변 1

답변을 작성해보세요.

0

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(Runnable {
            isDouble = false
        }, 2000)

    }
}

강의 대항 코드로 실행했을 때 별 문제가 없는데
혹시 어떻게 안되시는지 작성하신 코드와 스크린샷을 공유해주실 수 있으신가요?

김하진님의 프로필

김하진

질문자

2024.02.05

스크린샷 2024-02-05 093055.png저런 오류가 떠서 alt+enter누르고 super.onBackPressed()를 밑줄에 추가했더니 빨간줄은 사라집니다. 1231231232024-02-05 093321.png실행도 되고 오류도 안뜨지만 뒤로가기 버튼을 눌러도 이런 화면으로 안넘어 가집니다.

그대로 2024-02-05 093721.png이 화면에서 반응이 없습니다.

에뮬레이터를 새롭게 만들어서 해보시겠어요?
그래도 안되시면 코드를 전체 복사해서 공유해주세요.

김하진님의 프로필

김하진

질문자

2024.02.06

에뮬레이터를 다른걸로 하니까 되네요 감사합니다