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();