0

Я хочу закрыть popupWindow после нажатия на подставку. Окно popUp находится в представлении Pager, который находится в действии. Кнопка «Назад» не реагирует на какие-либо прикосновения (когда функция popUp работает отлично), я устанавливаю BackgroundDrawable и OutsideTouchable и все еще ничего.Закрыть PopUpWindow в ViewPager после нажатия на кнопку

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

Вы пробовали 'mViewPager.removeAllViews();' –

ответ

0

Является ли это ваш общий код? Нет всплывающего окна. Всплывающее окно означает «Диалоговое окно оповещения» в соответствии с моими знаниями. И если я не ошибаюсь, кто-то, кто поставил тебя.

alartDialog.setCancelable(false); 

удалить этот код, с которым вы сможете работать со своей задней кнопкой. этот код отключить кнопку «Назад» при отображении диалогового окна предупреждения.

Лучше вы делитесь общий код ....

+0

https://developer.android.com/reference/android/widget/PopupWindow.html Я назвал его по типу, и я не сделал t setCancelable в любом месте моего кода. Остальная часть кода довольно обширна и не затрагивает проблему – Expiredmind

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 реализованы использование метода, который ...