Android開發解決popupWindow重疊報錯問題

 更新時間:2018年10月18日 13:59:34   作者:tpnet   我要評論

今天小編就為大家分享一篇關于Android開發解決popupWindow重疊報錯問題的文章,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

在popupWindow里面再彈出popupWindow的時候會報這樣的錯誤

ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? 

報錯的意思大概就是說依賴的Activity沒了。

解決方法1

不要在當前的popupWindow里面繼續show一個popupWindow,應該寫一個接口回調到Activity里面進行show,

解決方法2

如果只是簡單的彈窗提醒的話,把第二次彈出的popupwindows改為Toast,

public class VerifySuccessDialog extends Toast {
  public VerifySuccessDialog(Context context) {
    super(context);
    //設置toast的View
    setView(LayoutInflater.from(context).inflate(R.layout.include_popwindow_verify, null));
    //彈出位置
    setGravity(Gravity.CENTER, 0, 0);
    //時長
    setDuration(Toast.LENGTH_SHORT);
  }
}

用的地方就

new VerifySuccessDialog(mActivity).show();

解決方法3

第二次彈窗改為Dialog,設置dialog的style,在Style.xml添加

<style name="VerifyDialog" parent="@android:style/Theme.Holo.Dialog.NoActionBar">
    <item name="android:windowBackground">@drawable/trans</item>
    <item name="android:windowFrame">@null</item>
    <item name="android:windowIsFloating">true</item>
    <item name="android:backgroundDimEnabled">true</item>
    <item name="android:windowSoftInputMode">adjustPan</item>
  </style>

定義一個Dialog類

public class VerifySuccessDialog extends Dialog {
  //用來設置時間自動關閉
  private int showTime;
  public VerifySuccessDialog(Context context) {
    super(context, R.style.VerifyDialog);
    setContentView(R.layout.include_popwindow_verify);
  }
  public int getShowTime() {
    return showTime;
  }
  public void setShowTime(int showTime) {
    this.showTime = showTime;
  }
}

用就直接:

VerifySuccessDialog dialog = new VerifySuccessDialog(mActivity);

顯示的地方

dialog.show();

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

相關文章

  • Android gradle插件打印時間戳的方法詳解

    Android gradle插件打印時間戳的方法詳解

    這篇文章主要給大家介紹了關于Android gradle插件打印時間戳的相關資料,文中通過實例代碼介紹的非常詳細,對各位Android開發者們具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-09-09
  • AndroidStudio上傳本地項目到碼云的方法步驟(OSChina)

    AndroidStudio上傳本地項目到碼云的方法步驟(OSChina)

    這篇文章主要介紹了AndroidStudio上傳本地項目到碼云的方法步驟(OSChina),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Android中實現Runnable接口簡單例子

    Android中實現Runnable接口簡單例子

    這篇文章主要介紹了Android中實現Runnable接口簡單例子,著重點在如何實現run()方法,需要的朋友可以參考下
    2014-06-06
  • Android操作SQLite數據庫(增、刪、改、查、分頁等)及ListView顯示數據的方法詳解

    Android操作SQLite數據庫(增、刪、改、查、分頁等)及ListView顯示

    這篇文章主要介紹了Android操作SQLite數據庫(增、刪、改、查、分頁等)及ListView顯示數據的方法,結合實例形式詳細分析了Android操作SQLite數據庫及使用ListView顯示數據的相關技巧,需要的朋友可以參考下
    2016-02-02
  • Android中TextView顯示圓圈背景或設置圓角的方法

    Android中TextView顯示圓圈背景或設置圓角的方法

    TextView顯示文本給用戶,并允許他們選擇編輯。TextView是一個完整的文本編輯器,但是其基本類配置為不允許編輯。下面這篇文章主要給大家介紹了關于Android中TextView顯示圓圈背景或設置圓角的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-05-05
  • Android加載Gif動畫實現代碼

    Android加載Gif動畫實現代碼

    這篇文章主要為大家詳細介紹了Android加載Gif動畫實現代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 安卓(Android)實現3DTouch效果

    安卓(Android)實現3DTouch效果

    3DTouch是什么效果的大家應該都知道了。本文將介紹在Android中如何實現3DTouch的效果,有需要的可以參考學習。
    2016-08-08
  • Android TabHost組件使用方法詳解

    Android TabHost組件使用方法詳解

    這篇文章主要以實例講解的方式為大家詳細介紹了Android TabHost組件的使用方法,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Android實現帶指示器的自動輪播式ViewPager

    Android實現帶指示器的自動輪播式ViewPager

    這篇文章主要為大家詳細介紹了Android實現帶指示器的自動輪播式ViewPager的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-02-02
  • Android應用中實現選擇本地文件與目錄的實例分享

    Android應用中實現選擇本地文件與目錄的實例分享

    這篇文章主要介紹了Android應用中實現選擇本地文件與目錄的實例分享,相當于從app內呼出的簡易的資源管理器來使用本地資源,需要的朋友可以參考下
    2016-02-02

最新評論

辽宁35选7开奖结果