package kr.ac.aaaa;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.Context;
import android.content.DialogInterface;
import android.view.*;
import android.view.View.*;
import android.widget.*;
public class MainActivity extends Activity {
private static final int WARNING=1; // 에러발생 메뉴를 실행 시키기 위한 정적변수 선언
private static final int ORDER=2; // 주문 메뉴를 실행 시키기 위한 정적변수 선언
EditText editText1,editText2;
CheckBox check;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText1 = (EditText) findViewById(R.id.subject);
editText2 = (EditText) findViewById(R.id.amount);
check = (CheckBox) findViewById(R.id.check);
// 버튼 1번 클릭시 WARNING다이알로그 출력
Button b1 = (Button) findViewById(R.id.error);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(WARNING);
}
});
// 버튼 2번 클릭시 ORDER다이알로그 출력
Button b2 = (Button) findViewById(R.id.electrics);
b2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(ORDER);
}
});
// 버튼 3번 클릭시 ORDER다이알로그 출력
Button b3 = (Button) findViewById(R.id.computers);
b3.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
showDialog(ORDER);
}
});
}
protected Dialog onCreateDialog(int id){ // AlertDiaog 함수 선언
switch(id){
case WARNING:
AlertDialog.Builder dialog1 = new AlertDialog.Builder(this);
dialog1.setTitle("에러발생"); // 제목 설정
dialog1.setMessage("어쩌고 저쩌고 이유로 작업을 계속할 수 없어 종료합니다."); // 내용
dialog1.setCancelable(false);
dialog1.setPositiveButton("종료", new DialogInterface.OnClickListener(){ // 버튼 생성 및 이벤트 처리
public void onClick(DialogInterface dialog,int whichButton){
MainActivity.this.finish(); // 엑티비티 종료시킴
}
});
AlertDialog alert1 = dialog1.create(); // alertDialog 생성함
return alert1;
case ORDER:
/* 아래 3개 코드는 ui를 alertDialog에 출력하기 위해 alert.xml을 가져와 화면에 띄우기 위한 코드 */
Context mContext = getApplicationContext();
LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.custom,(ViewGroup) findViewById(R.id.layout_root));
AlertDialog.Builder dialog2 = new AlertDialog.Builder(this);
dialog2.setTitle("주문정보를 입력하시오"); // 타이틀
dialog2.setIcon(R.drawable.ic_launcher); // 타이틀 아이콘
dialog2.setCancelable(false);
dialog2.setView(layout) // 커스텀 다이알로그 출력
.setPositiveButton("확인",new DialogInterface.OnClickListener(){ // 확인버튼 생성 및 이벤트 처리
public void onClick(DialogInterface dialog,int item){
if(check.isChecked() == true){
Toast.makeText(getApplicationContext(),
// 제목 출력
"제목 : " + R.id.subject +
// 수량 출력
"\n수량 : " + R.id.amount +
"\n착불결제 입니다.",
Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(),
// 제목 출력
"제목 : " + editText1 +
// 수량 출력
"\n수량 : " + getText(R.id.amount) +
"\n착불결제 입니다.",
Toast.LENGTH_SHORT).show();
}
else {
Toast.makeText(getApplicationContext(),
// 제목 출력
"제목 : " + editText1 +
// 수량 출력
"\n수량 : " + editText2 +
"\n착불결제가 아닙니다.",
Toast.LENGTH_SHORT).show();
}
}
})
.setNegativeButton("취소",new DialogInterface.OnClickListener(){ // 취소 버튼 생성 및 이벤트 처리
public void onClick(DialogInterface dialog,int whichbutton){
dialog.cancel(); // 취소 시킨다.
}
});
AlertDialog alert2 = dialog2.create();
alert2.show();
return alert2;
}
return null;
}
}
커스텀 다이얼로그 창에서 "제목" 과 "수량" , 체크박스 들을 설정하고 확인버튼을 누르면
토스트로 적은 값이 출력되어야 하는데
어플이 그냥 꺼지네요 ㅠㅠ