2017-02-01 5 views
1

В приложении Android я пытаюсь открыть всплывающее окно после того, как потратил 30 минут на приложение (используя PopUpWindow для этого), это всплывающие вызовы из файла библиотеки, который находится в папке libs в android studio. Но не удалось получить всплывающее окно, предоставляющее исключение, посколькуКак показать всплывающее окно из библиотеки в приложение для Android

«android.view.WindowManager $ BadTokenException: Не удалось добавить нулевой токен - это ваша деятельность работает?»

Пожалуйста, предложите, что делать? Есть ли другой способ сделать это?

Но нужно вызвать всплывающее окно только из библиотеки.

Я использовал этот код для всплывающего ниже:

 LayoutInflater layoutInflater 
       = (LayoutInflater)getBaseContext() 
       .getSystemService(LAYOUT_INFLATER_SERVICE); 
     View popupView = layoutInflater.inflate(R.layout.popup, null); 

     final PopupWindow popupWindow = new PopupWindow(popupView, -1, 200, true); 
     Button btnDismiss = (Button)popupView.findViewById(R.id.dismiss); 

     btnDismiss.setOnClickListener(new Button.OnClickListener(){ 
      @Override 
      public void onClick(View v) { 

       // TODO Auto-generated method stub 
       popupWindow.dismiss(); 
      }}); 

     popupWindow.showAtLocation(popupView, Gravity.TOP, 0, 0); 

ответ

0

Как вы делаете это из библиотеки, Вы не имеете доступ к текущему окну. Вместо этого попробуйте отобразить тематическую деятельность в диалоговом окне.

+0

Я хочу указать положение всплывающего окна, как липкий заголовок или липкий нижний колонтитул и т. Д. Поэтому используя popupWindow. Любая идея, как это может быть полезно в этом? –