[Android] 화면에 다이얼로그 추가하기

Android/Android · 2020. 6. 14. 16:51
반응형

https://survivalcoding.com/p/android_basic

 

될 때까지 안드로이드

될 때까지 안드로이드에 수록된 예제의 라이브 코딩 해설

survivalcoding.com

위 서적을 참고하였습니다.

 

 

 

 이번 포스트에선 액티비티에 다이얼로그를 출력하는 프로그램을 만들어 보겠습니다. 레이아웃은 따로 만들지 않고 진행하겠습니다. 

 

 

MainActivity

package hello.world.study;

import org.w3c.dom.Text;

import static android.provider.AlarmClock.EXTRA_MESSAGE;

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.setMessage("정말 종료?");
        builder.setPositiveButton("확인", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                finish();
            }
        });
        builder.setNegativeButton("취소", null);
        builder.show();
    }
}

 

 정말 간단하게 구현할 수 있습니다. onBackPressed() 메소드를 오버라이딩 한 후 AlertDialog를 생성하는 코드를 작성합니다. onBackPressed() 메소드를 처음 오버라이딩 하면 super.onBackPressed()라는 구문이 있을 텐데, 이 구문을 지움으로써 뒤로 가기 키로 죵료가 되지 않게 만들었습니다. 

 

 AlertDialog는 긍정과 부정을 주로 사용합니다. setPositiveButton()은 긍정, setNegativeButton()은 부정적인 이벤트를 처리할 때 사용합니다. 

 

AlertDialog

 

 실행을 하게 되면 이렇게 잘 되는 것을 불 수 있습니다. 그런데 여기서 화면을 회전하게 된다면 AlertDialog가 사라지는 것을 볼 수 있습니다. 이는 저번에 포스팅한 안드로이드 액티비티 생명주기 때문입니다. 이것은 다음 포스트에서 다루도록 하겠습니다. 감사합니다.

반응형