[ AlertDialog ]
1. 정의
- 대화상자를 보여주는 가장 단순한 객체
2. 주요 메소스
- setTitle() : 타이틀 설정
- setMessage() : 메세지 내용 설정
- setPositiveButton(), setNegativeButton() : 예, 아니오 - 버튼 설정
. 이 메소드에는 OnclickListener()를 설정할 수 있다.
3. 사용예
- button클릭 시 onButton1Clicked() Event가 호출 되어 대화상자를 띄워준다.
public class MainActivity extends AppCompatActivity { TextView textView1; String msg;
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
textView1 = (TextView) findViewById(R.id.textView1);
}
/** * 버튼을 눌렀을 때 대화상자 객체를 생성하는 메소드를 호출 * @param v */ public void onButton1Clicked(View v) { AlertDialog dialog = createDialogBox(); dialog.show(); }
/** * 대화상자 객체 생성 */ private AlertDialog createDialogBox(){ AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("안내"); builder.setMessage("종료하시겠습니까?"); builder.setIcon(android.R.drawable.ic_dialog_alert);
// 예 버튼 설정 builder.setPositiveButton("예", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { msg = "예 버튼이 눌렀습니다. " + Integer.toString(whichButton); Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); } });
// 취소 버튼 설정 builder.setNeutralButton("취소",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { msg = "취소 버튼이 눌렸습니다. " + Integer.toString(whichButton); Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); //textView1.setText(msg); } });
// 아니오 버튼 설정 builder.setNegativeButton("아니오", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { msg = "아니오 버튼이 눌렸습니다. " + Integer.toString(whichButton); Toast.makeText(getApplicationContext(), msg, Toast.LENGTH_SHORT).show(); } });
// 빌더 객체의 create() 메소드 호출하면 대화상자 객체 생성 AlertDialog dialog = builder.create();
return dialog; } } |