안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그) > 자료실

회원로그인

오늘 본 게시물

오늘 본 페이지

없음

오늘 본 C.m.A Util

없음

자료실

자료실

안드로이드 뒤로 가기 버튼 클릭하면 안내창 띄우기(다이얼로그)

페이지 정보

본문

원래 뒤로 가기 버튼을 누르면 앱이 종료되지만 종료되지 않고 안내 창을 띄우게 하는 코드

제목을 종료할까요?로 설정해주었고 다이얼로그 바깥쪽을 터치하면 다이얼로그가 꺼지는 걸 방지하는 코드도 넣었습니다

예를 누르면 exit함수가 호출되어 앱을 종료하고 아니요와 취소를 누르면 다이얼로그만 꺼집니다

 

package com.ehsehsl.osz;


import androidx.appcompat.app.AppCompatActivity;


import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;


public class MainActivity extends AppCompatActivity {


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }


    @Override

     public void onBackPressed() {   // 뒤로가기 누르면 다이얼로그 생성

        AlertDialog.Builder builder = new AlertDialog.Builder(this);

        builder.setIcon(R.mipmap.ic_launcher); // 다이얼로그 아이콘

        builder.setTitle("종료여부"); // 다이얼로그 제목

        builder.setMessage("정말 종료 하시겠습니까?"); // 다이얼로그 본문 내용

        builder.setCancelable(false);   // 다이얼로그 화면 밖 터치 방지

        builder.setPositiveButton("예", new AlertDialog.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {

                exit();

            }

        });


        builder.setNegativeButton("아니요", new AlertDialog.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {


            }

        });


        builder.setNeutralButton("취소", new AlertDialog.OnClickListener() {

            public void onClick(DialogInterface dialog, int which) {


            }

        });

        builder.show(); // 다이얼로그 보이기

    }


    public void exit() { // 종료

        super.onBackPressed();

    }

}


추천 0 비추천 0

  • 회사 : Cginjs
  • 대표 : Cginjs
  • 주소 :
  • 메일 : admin@mysample.com
  • 사업자 등록번호 :
Copyright © Cginjs All rights reserved.
notice
Warning: Undefined variable $HTTP_ACCEPT_LANGUAGE in /cginjs/www/bbs/visit_insert.inc.php on line 131