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가 사라지는 것을 볼 수 있습니다. 이는 저번에 포스팅한 안드로이드 액티비티 생명주기 때문입니다. 이것은 다음 포스트에서 다루도록 하겠습니다. 감사합니다.
반응형