1. 알림 대화상자란?
알림 대화상자는 사용자에게 어떤 내용을 알려주거나 '아니오', '예' 버튼을 선택하도록 만들고 싶을 때 사용됩니다.
알림 대화상자는 AlertDialog 객체를 만들고 show 메소드를 이용해 화면에 표시하게 됩니다.
AlertDialog 객체를 만들 때는 AlertDialog.Builder 객체를 사용합니다.
알림 대화상자에는 타이틀, 안내 메시지, 아이콘 그리고 예, 아니오 버튼 등을 설정할 수 있습니다.
2. 예제 코드
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import com.google.android.material.snackbar.Snackbar;
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.textView);
Button button = (Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// 별도의 메소드를 정의해서 사용
showMessage();
}
});
}
// 알림 대화상자 내용 만들기
protected void showMessage() {
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("안내");
builder.setMessage("종료하시겠습니까?");
builder.setIcon(android.R.drawable.ic_dialog_alert);
builder.setPositiveButton("예", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 스낵바 띄우기
Snackbar.make(textView, "예 버튼이 눌렸습니다.", Snackbar.LENGTH_LONG).show();
}
});
builder.setNegativeButton("아니요", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 스낵바 띄우기
Snackbar.make(textView, "아니요 버튼이 눌렸습니다.", Snackbar.LENGTH_LONG).show();
}
});
// 알림 대화상자 만들기
AlertDialog dialog = builder.create();
dialog.show();
}
}
'Android' 카테고리의 다른 글
[Android] 안드로이드 : 리스트뷰(ListView) 만들기 (2) | 2019.12.03 |
---|---|
[Android] 안드로이드 : 나인패치 이미지 적용하기 (0) | 2019.12.01 |
[Android] 안드로이드 : 토스트 보여주기 (0) | 2019.12.01 |
[Android] 안드로이드 : 이벤트 처리 이해하기 (0) | 2019.12.01 |
[Android] 안드로이드 : 스크롤뷰 만들기 (0) | 2019.11.30 |
댓글