Я хочу использовать кнопку для управления всплывающим окном, Когда я нажимаю кнопку, всплывающее окно показывает, а затем нажимает кнопку, popupwindow dimiss. Ниже мой код:Как использовать кнопку для управления всплывающим окном или dimiss?
@Override
public void onClick(View v) {
showPopupWindow();
}
/*** button control the PopupWindow ***/
private void showPopupWindow() {
View view = View.inflate(this, R.layout.popwindow_item, null);
popupwindow = new PopupWindow(view, WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.WRAP_CONTENT);
if (popupwindow.isShowing()) {
popupwindow.dismiss();
}else {
popupwindow.setOutsideTouchable(true);
popupwindow.setBackgroundDrawable(new BitmapDrawable());
popupwindow.showAsDropDown(title);
}
viewOfPop(view);
}
и результат в том, что при нажатии на кнопку, то popupwindow всегда показывать, а не dimiss. Я также пытаюсь использовать флаг, private boolean isShow = false;
, и когда я нажимаю кнопку, я изменю логическое значение, но я не знаю, как я могу изменить логическое значение, popupwindow закрывается, когда я нажимаю внешний вид popupwindow. пожалуйста, помогите мне, спасибо заранее!
Также еще одна вещь, лучше, чтобы создать экземпляр вида и инфляции в OnCreate или onCreateView – SanthoshN
Я стараюсь, как вы сказали, но он не работает, но я добавляю 'popupwindow.setFocusable (true);' он работает, я не знаю причину –