-
[7] Alert DialogDevelpment/Android Using Sample 2020. 9. 13. 21:35
1. Alert Dialog
Activity
123456789101112131415161718192021222324252627282930public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic void onBackPressed() {//super.onBackPressed();AlertDialog.Builder dialog = new AlertDialog.Builder( MainActivity.this );dialog.setPositiveButton("positive", myClick);dialog.setNegativeButton("negative", myClick);dialog.setNeutralButton("neutral", myClick);dialog.setTitle("alert dialog title");dialog.setMessage("message");dialog.show();}DialogInterface.OnClickListener myClick = new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {}};}cs * onBackPressed() 를 Override하여 뒤로가기 버튼을 눌렀을 경우 Alert Dialog가 뜨도록 설정.
* AlertDialog.Builder 로 객체를 생성.
* Positive, Negative, Neutral 총 3개의 버튼 까지 생성 가능.
* Tile, Message 등을 세팅 후, show() 를 해주어야 한다.
* Event Listener 의 경우 Button 은 VIew이지만, Dialog는 DialogInterface의 OnClickListener를 사용해야 한다.
2. 결과 화면
3. Alert Dialog Event 처리
Activity
12345678910111213141516171819202122232425262728293031323334353637383940public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}@Overridepublic void onBackPressed() {//super.onBackPressed();AlertDialog.Builder dialog = new AlertDialog.Builder( MainActivity.this );dialog.setPositiveButton("positive", myClick);dialog.setNegativeButton("negative", myClick);dialog.setNeutralButton("neutral", myClick);dialog.setTitle("alert dialog title");dialog.setMessage("message");dialog.show();}DialogInterface.OnClickListener myClick = new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialogInterface, int i) {switch (i){case DialogInterface.BUTTON_POSITIVE:Toast.makeText(getApplicationContext(), "positive", Toast.LENGTH_SHORT).show();break;case DialogInterface.BUTTON_NEGATIVE:finish(); // 종료break;case DialogInterface.BUTTON_NEUTRAL:break;}}};}cs * onClick 에서 넘어온 i 값으로 구분.
* DialogInterface의 BUTTON_POSITIVE, NEGATIVE, NEUTRAL로 구분하여 이벤트 처리.
'Develpment > Android Using Sample' 카테고리의 다른 글
[9] Rating Bar (0) 2020.09.13 [8] Dialog (0) 2020.09.13 [6] Menu (0) 2020.09.13 [5] Image Button Effect (drawable) (0) 2020.09.13 [4] Custom Button (0) 2020.09.13