마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안녕하세요 백버튼 사용하려고하는 초보자입니다..도와주세영!!

0 추천

단순하게 메인, B, C레이아웃이있다면

B에서 백버튼누르면메인으로가지구 메인에선 백버튼이두번 누르면 어플이꺼지도록 

C에서도 백버튼을 누르면 메인으로 가지는 그런 걸구현하고싶은데용

지금 백버튼을 누르면

E/OpenGLRenderer: ReliableSurface: perform returned an error 이라고나오면서 튕겨버립니다ㅠㅠ

이런 어플만들어보는걸 시작한지 일주일정도바께 안되서ㅠㅠ 왜에러가나는지

고치려면어케해야되는지 궁금합니다,,, 도움을 주세여ㅠㅠ

 

코드는,,

class MainActivity : AppCompatActivity() {
    private var first_time: Long = 0
     private var second_time: Long = 0
    override fun onBackPressed() {
        second_time = System.currentTimeMillis()
        if (second_time - first_time < 4000) {
        super.onBackPressed()
        finish()
         } else Toast.makeText(this, "뒤로가기 버튼을 한 번 더 누르시면 종료!", Toast.LENGTH_SHORT).show()
        first_time = System.currentTimeMillis()
    }

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


//퍼블릭보이드온클릭을쓰려면 엑티비티메인에 온클릭을 지정해줘야된다
        //지정을안했다면 findviewbyid를 써준다
        findViewById<ImageButton>(R.id.imageButton4).setOnClickListener {
            val intent = Intent(this@MainActivity, Navi_1::class.java)
            startActivity(intent);

            finish();
        }
요게 메인엑티비티구요
class Navi_1 : AppCompatActivity() {


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


    }

    override fun onBackPressed() {
        super.onBackPressed();

    }
}
요게 서브엑티비티구요
class Bookmark : AppCompatActivity() {


    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_bookmark)

        }

        override fun onBackPressed(){
            super.onBackPressed();
        }
    }
요게 3번째엑티비티입니다ㅠㅠ
도움을 주세요ㅠㅠ
콰콰쾅 (170 포인트) 님이 2020년 11월 3일 질문
구글에는  override fun onBackPressed(){
            super.onBackPressed();
이것만 써주면 끝난다고하는데 저는왜 안되는걸까여ㅠㅠ
와 해결했습니다 이짓저짓다해보다가 인텐트에서 피니쉬버튼있는걸 지워봤는데
 해결이되네여 피니쉬버튼이 무슨역할이길래 그동안은안됬었던것일까여ㅠㅠ

1개의 답변

0 추천
백버튼 처리를 onBackPressed 에서 바로 하지 마시고 구글의 권장사항대로 따라해 보세요.

https://developer.android.com/guide/navigation/navigation-custom-back
spark (227,470 포인트) 님이 2020년 11월 4일 답변
...