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

자료실

자료실

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

페이지 정보

profile_image
작성자 최고관리자
댓글 0 조회 310회 작성일 23-02-17 08:55
작성일 23-02-17 08:55

본문

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

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

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

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

  • 회사 :
  • 대표 :
  • 주소 :
  • 메일 : admin@mysample.com
  • 사업자 등록번호 :
Copyright © cginjs.com All rights reserved.
notice