Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

개발자되기 프로젝트

[Android] 뒤로가기, handler, finish 본문

인프런/[인프런] 앱 8개를 만들면서 배우는 안드로이드 코틀린

[Android] 뒤로가기, handler, finish

Seung__ 2022. 3. 20. 11:22

보통 앱은 메인 화면에서 back button을 두 번 연속으로 누르면 종료된다.

 

onBackPressed() 메서드를 overriding해서 구현할 수 있다.

- 앱 종료: finish() 호출

- Handler: MainThread가 아닌 별도 Thread에서 처리. 특정 시간 후 MainThread로 넘겨서 처리.

class MainActivity : AppCompatActivity() {

    private var isDoublePressed = false

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
    }

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

        isDoublePressed = true
        Toast.makeText(this, "종료하실려면 뒤로가기 한 번 더 클릭", Toast.LENGTH_SHORT).show()

        Handler().postDelayed(Runnable {
            isDoublePressed = false
        }, 2000)
    }
}

 

 

GitHub - bsh6463/backButtonEx

Contribute to bsh6463/backButtonEx development by creating an account on GitHub.

github.com

 

Comments