마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

알림 대화상자 기능 구현하는 방법좀 알려주세요

0 추천
책보고 따라해보고잇는 생초보입니다

책에 나와잇는 내용을 이해하면서 하고잇는중인데요

알림 대화상자에서 alertdialog.builder이라는 서브클래스를 사용해서 구현하라고 나와잇는데요

코드들이 다 적혀잇는데 이것들을 정작 어디에다가 적어야 구현이 되는지를 몰르겟네요;;

어디에다가 적어야 구현이 되는지 경로좀 알려주시면 감사하겟습니다
잘될거야 (140 포인트) 님이 2014년 6월 5일 질문

2개의 답변

0 추천
Activity 안에 원하시는데 아무데나 넣어도 되요...버튼 클릭했을 때 dialog 띄우고 싶다 하시면 Button에 onClick리스너 등록할때 넣으시면 되구요..어떤 이벤트나 이 타이밍에 넣고 싶다 할 때 넣으시면 됩니다..activity가 아닌 다른 클래스에서 사용하고 싶다면 context꼭 전달 해 주시고...지금 질문하신 내용으로는 이정도 밖에 답변을 못해드리겠군요..책보고 따라하고 있으시다면 소스 그대로 쳐보세요..처음부터 그대로 따라해 보시기 바랍니다.
YeonMin (17,860 포인트) 님이 2014년 6월 5일 답변
네 감사합니다 잘해볼게요 ㅎ
0 추천
보여드리죠.
 
 
 
new AlertDialog.Builder(MainActivity.getMainView().getContext()).setTitle("TITLE")
    .setMessage("Do you wanna exit the game?").setPositiveButton("Yes", new AlertDialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            onPause();
            System.exit(0);
        }
    }).setNegativeButton("No", new AlertDialog.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            dialog.dismiss();
        }
    }).show();
 
 
 
이렇게 바로 사용하셔도 되구요.
 
 
 
class TextInputDialog extends AlertDialog {
 
private String text;
private EditText txtInput;
private boolean actived;
private AlertDialog dialog;
 
public TextInputDialog(Context context) {
    super(context);
    init(context);
}
 
public void init(Context ct) {
 
    txtInput = new EditText(ct);
 
    AlertDialog.Builder builder = new AlertDialog.Builder(ct);
    builder.setTitle("YOUR NAME");
    builder.setView(txtInput);
    builder.setPositiveButton("OK", new OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            text = txtInput.getText().toString();
            dialog.dismiss();
        }
    }).setNegativeButton("CANCEL", new OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
            text = null;
            dialog.dismiss();
        }
    }).setOnCancelListener(new OnCancelListener() {
        public void onCancel(DialogInterface dialog) {
            text = null;
            dialog.dismiss();
        }
    });
    dialog = builder.create();
    dialog.setCanceledOnTouchOutside(false);
 
}
 
public void show() {
    this.show("");
}
 
public void show(String defaultText) {
    txtInput.setText(defaultText);
    dialog.show();
    actived = true;
}
 
public String getInputText() {
    actived = false;
    return text;
}
 
public boolean isActived() { return actived; }
 
}
 
이렇게 클래스로 따로 만들어두셔서 쓰셔도됩니다.
(저건 제가 코딩해서 쓰고있는 텍스트 입력을 받는 다이얼 로그 클래스의 일부입니다.)
Jinthree (8,980 포인트) 님이 2014년 6월 5일 답변
그대로 긁어서 button태그 안에다가 넣으면 되는건가요?
그안에 잇던 코드들은어떻게 하면되죠?
...