Android

AlertDialog 경고 팝업 나타나게 하기, 메인액티비티 종료하는 finish 함수

567Rabbit 2024. 6. 5. 16:35

 

 

 

AlertaDialog 생성자의 파라미터 알아보기

 

 

1. AlertDialog.Builder(MainActivity.this)

 

AlertDialog.Builder의 생성자로, 다이얼로그를 만들 컨텍스트를 지정

MainActivity.this는 현재 액티비티의 컨텍스트를 의미

 

 

2. setCancelable(false)

 

다이얼로그의 취소 가능 여부를 설정한다. false로 설정하면 다이얼로그가 닫히지 않는다.

 

 

3. set~Button

 

setPositiveButton : 다시풀기 버튼

setNegativeButton : 종료 버튼

setNeutralButton : 그 외 버튼

 

 

 

 

currentQuizIndex는 현재 풀고있는 문제 개수이고, quizArrayList.size()는 10에 해당한다.

즉, 10개의 문제를 다 풀었을 때, 아래와 같이 showAlertDialog() 로 호출하여 알람 팝업이 뜨게 설정하였다.

 

if(currentQuizIndex == quizArrayList.size()){ 
                    showAlertDialog();
                    return;
                }

 

 

 

 

showAlertDialog()에 대한 코드를 작성하였다.

 

private void showAlertDialog() {

    AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
    builder.setCancelable(false);
    builder.setTitle("퀴즈 끝!");
    builder.setMessage("지금까지 맞춘 문제는 " + count
            + "개 입니다. 다시풀기를 누르시면 퀴즈가 다시 시작되고,종료를 누르시면 퀴즈가 종료됩니다.");
   
   
   builder.setPositiveButton("다시풀기", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
        
        //다시 풀기에 대한 초기화 내용을 담는다

        }
    });
    
    
    builder.setNegativeButton("종료", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            
            finish();
        }
    });
    
    
    builder.show();
}

 

new DialogInterface.OnClickListener()는, 버튼을 클릭했을 때 실행할 코드를 입력할 수 있는 함수이다.

 

 

 

현재의 메인액티비티(MainActivity)를 종료하는 함수 

 

 

**** (중요!!!!) ****

 

finish();