기본 알림창인 AlertDialog 다이얼로그
AlertDialog 는 사용자에게 메세지나 경고를 알리기 위한 기능으로 Android 에서 지원하는 Dialog 이다. Toast 와는 다르게 Dialog 라서 Activity의 Focus를 가져간다.
=== activity_main.xml ===
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.tistory.link2me.app9.MainActivity">
<Button
android:id="@+id/btnAlert"
android:layout_centerInParent="true"
android:text="대화상자 보기"
android:textSize="20dp"
android:onClick="btnClicked"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<TextView
android:id="@+id/tv01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="대화상자를 표시하려면 아래 버튼을 누르세요"
android:textSize="15dp"
android:textColor="#999"
android:gravity="center_horizontal"
android:layout_above="@id/btnAlert"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
</RelativeLayout>
=== MainActivity.java ===
package com.tistory.link2me.app9;
import android.content.DialogInterface;
import android.os.Bundle;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
TextView textView;
String msg;
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = (TextView) findViewById(R.id.tv01);
}
public void btnClicked(View view){
AlertDialog alertDialog = makeDialog();
alertDialog.show();
}
// 알림 대화상자 생성
private AlertDialog makeDialog(){
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) {
msg="OK 버튼 선택 : "+ Integer.toString(which);
textView.setText(msg);
}
});
builder.setNegativeButton("NO", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
msg="NO 버튼 선택 : "+ Integer.toString(which);
textView.setText(msg);
dialog.dismiss();
}
});
// Cancel 버튼 설정
builder.setNeutralButton("CANCEL", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
msg="CANCEL 버튼 선택 : "+ Integer.toString(which);
textView.setText(msg);
}
});
// Builder 클래스의 create() 메소드를 호출하여 대화상자 생성
AlertDialog dialog = builder.create();
return dialog;
}
}
'안드로이드 > Android 기능' 카테고리의 다른 글
버튼의 이벤트 처리 (0) | 2017.04.08 |
---|---|
개념 잡는 Thread(쓰레드) 와 핸들러(Handler) (0) | 2017.04.02 |
Android Studio 사용법 (Intent : Activity 간 데이터 전달) (0) | 2017.03.06 |
Intent(인텐트) : 두 클래스간 배열 문자열 전달 및 배열 분할 (0) | 2017.03.02 |
안드로이드 WebView 와 OnOnClickListener (0) | 2016.06.12 |