我想在按下后退按钮后关闭popupWindow。 popUp窗口位于View Page中,它位于Activity中。后退按钮对任何触摸都没有反应。(当popUp关闭工作正常时)我设置了BackgroundDrawable和OutsideTouchable,但仍然没有。
public class popUp extends PopupWindow implements ViewPager.OnPageChangeListener,
View.OnClickListener{
public popUp{
setContentView(view);
setWidth(LinearLayout.LayoutParams.WRAP_CONTENT);
setHeight(LinearLayout.LayoutParams.WRAP_CONTENT);
setOutsideTouchable(true);
setFocusable(true);
showAtLocation(view, Gravity.CENTER, 0,0);
setBackgroundDrawable(new ColorDrawable());
}}
活动
@Override
public void onBackPressed() {
if(ViewPagerAdapter!=null){
if (ViewPagerAdapter.popUp!= null && ViewPagerAdapter.popUp.isShowing())
ViewPagerAdapter.popUp.dismiss();
else
super.onBackPressed();
}
}
答案 0 :(得分:0)
这是你的总代码吗? 没有弹出窗口。根据我的知识,弹出窗口意味着警报对话框。如果我没有错,你的一些地方就是你的。
alartDialog.setCancelable(false);
删除该代码,您可以使用后退按钮。 该代码在显示警告对话框时禁用后退按钮。
最好分享您的总代码....
答案 1 :(得分:0)
你可以试试这个......
public class popUp extends PopupWindow implements View.OnClickListener{
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(keyCode== KeyEvent.KEYCODE_BACK){
yourPopupWindow.dismiss();
}
return true;
}
}
您已经实现了View.OnClickListener,其中onKey实现的方法使用了...