안드로이드 개발 질문/답변
(글 수 45,052)
private int BtnNo;
void setBtnNo(int n){
BtnNo=n;
}
int getBtnNo(){
return BtnNo;
}
//여기까지는 그냥 전역변수+게터+세터입니다
void alertbox(String title, String mymessage){ //이녀석을 호출하는 방식으로 AlertDialog를 띄웁니다.
//AlertDialog를 띄운다
AlertDialog.Builder Tmp = new AlertDialog.Builder(this)
.setMessage(mymessage)
.setTitle(title)
.setCancelable(true)
.setPositiveButton("허용", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
setBtnNo(1);
}
})
.setNeutralButton("항상 허용", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
setBtnNo(2);
}
})
.setNegativeButton("아니오", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton){
setBtnNo(3);
}
});
Tmp.show();
Log.e("mylog",Integer.toString(getBtnNo())); // 이부분에서 어느 버튼을 눌렀는지 로그로 찍어봤습니다
}
일단 번거롭게 해드려서 죄송합니다.. ㅠㅠ
어느 버튼을 누른건지 판별하기 위해서 전역변수를 사용해 봤는데요,
제 생각대로라면
창이 뜬다 → 버튼을 누른다 → 전역변수값이 바뀐다 → 로그 출력하면 누른 버튼의 번호가 뜬다 ^0^
다시 창을 띄운다 → 버튼을 누른다 → 전역변수값이 바뀐다 → 로그 출력하면 새로 누른 버튼의 번호가 뜬다 ^0^
였습니다만...
현재 진행되는 걸 로그로 띄워보니
창이 뜬다 → 버튼을 누른다 → 로그 출력하면 전역변수의 초기값이 뜬다 → 전역변수값이 바뀐다
다시 창을 띄운다 → 버튼을 누른다 → 로그 출력하면 이전에(윗줄에) 누른 버튼의 번호가 뜬다 → 전역변수값이 바뀐다
이렇게 되니 감을 못잡겠습니다;;;
어디가 잘못된 걸까요.. 버튼을 세개나 쓰면 안되는걸까요;;;
먼저 올린 글은 삭제했습니다 (_ _)하려고 했는데 댓글이 있으면 삭제가 안된다네요 우잉..




로그 찍는 시점이 버튼 누르기 전 아닌가요?