안드로이드 개발 질문/답변
(글 수 45,052)
잘돌아가는데, 문제는 왜 잘돌아가는지 모르겠습니다ㅠㅠ;;; 안돌아가야 정상인거같은데;
일단 set버튼을 누르면 설정창이 돌아가게 하려고
Button setButton;
static final int DIALOG_SETTING = 0;
int set=0;
final CharSequence[] items = {"A","B","C"};
final boolean[] states = {true,false,false};
setButton = (Button) findViewById(R.id.setBtn);
setButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
showDialog(DIALOG_SETTING);
}
});
이렇게 버튼에 클릭리스너를 설정하고 아래에
protected Dialog onCreateDialog(int id){
AlertDialog.Builder builder;
builder = new AlertDialog.Builder(this);
builder.setTitle("설정");
builder.setMultiChoiceItems(items, states, new DialogInterface.OnMultiChoiceClickListener() {
@Override
public void onClick(DialogInterface dialog, int which, boolean isChecked) {
set = 1;
}
});
builder.setPositiveButton("OK",new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String msg = "";
for(boolean state : states) {
msg += String.valueOf(state) + " ";
}
}
});
AlertDialog alert = builder.create();
return alert;
}
를 썼는데 잘돌아가더라고요. 그런데 생각해보니
showDialog(DIALOG_SETTING); 이 부분과 아래쪽 코드에는 아무런 연관성이 없더라고요;;;;
그런데도 다이얼로그창이 정상적으로 뜨는 이유는 무엇일지요ㅠㅠ;




showDialog 하시면 액티비티 내부에서 onCreateDialog를 호출합니다.
onCreateDialog의 아규먼트로 넘어오는 id는 showDialog에서 넣어준 값입니다.