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

팝업 버튼을 여러번 눌러도 한번만 뜨게하는 방법이 없을까요?

0 추천
Button add;
PopupWindow popupWindow;
 
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.popup);
 
// 팝업 윈도우를 출력하기 위한 버튼
 
add = (Button) findViewById(R.id.add);
 
add.setOnClickListener(this);
}
 
@Override
public void onClick(View v) {
 
switch (v.getId()) {
case R.id.add:
/* 윈도우 출력 */
 
break;
 
}
LayoutInflater layoutInflater = (LayoutInflater) getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.sidemenu,
null);
popupWindow = new PopupWindow(popupView, LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
 
popupWindow.showAsDropDown(popupView, 80, 320);
 
Button btnexit = (Button) popupView
.findViewById(R.id.popup_close);
btnexit.setOnClickListener(new OnClickListener() {
 
@Override
public void onClick(View v) {
popupWindow.dismiss();
 
}
});
 
}
 
이 소스를 이용하여 팝업 윈도우를 띄웠습니다. 그런데 
팝업을 띄우게 하는 버튼을 여러번 클릭하면 
팝업이 여러번 뜨는거로 인식이 되는거 같습니다. 이것을 한번만 뜨게 하는 방법이 없을까요? 
qwlwwmq (560 포인트) 님이 2014년 1월 23일 질문

1개의 답변

0 추천
버튼을 선택할 때 setEnable 값을 false 로 주시면 눌린 이후 다시 눌리지는 않습니다.

이후 dialog 를 dismiss 할 때 리스너를 달아서 버튼을 setEnable true 로 주시면 됩니다.
aucd29 (218,390 포인트) 님이 2014년 1월 23일 답변
잘 이해가 안되서 그런데 조금더 자세하게 알려주실수 있으신가요?
지금 버튼에
android:enable:"false"로 주고요

btnReservationCounseling.setEnabled(true); 이 내용을 입력해주었는데
 
btnReservationCounseling.이 부분이 에러가 발생합니다. 어떻게 수정해야될까요?
btnReservationCounseling이게 어디있는거죠?
add 버튼 아닌가요?
네 add버튼 맞습니다. 제가 id값을 수정을 하느라 바뀐거로 적었네요
add버튼입니다.
onClick에 윈도우 출력이라고 되어있는 부분에 add.setEnable(false) 로 하면 됩니다. 에러가 난다면 선언이 안됐을 거구요
...