1. 程式人生 > >【Android 很基礎】異常出現在show和dimiss dialog

【Android 很基礎】異常出現在show和dimiss dialog

在show或dimiss dilalog時會有可能會丟擲以下異常:

show時,

1.android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running?

2-.android.view.WindowLeaked: 某個activity has leaked window [email protected] that was originally added here

dimiss時,

1.java.lang.IllegalArgumentException: View not attached to window manager,

2.android.view.WindowLeaked: 某個activity has leaked window [email protected] that was originally added here,

都是因為該dialog依附的activity被finish掉了(主動或被動),導致dialog找不到activity。

例如:非同步提交網路資料,在等待返回時切換了activity,而剛好這個頁面被finish掉了;在橫豎屏切換的時候,activity被重構了。

解決方法:如果不是因為橫豎屏切換導致的(因為橫豎屏切換,activity會重構,activity.isFinishing()返回的是false),可以在show或者dimiss之前,判斷activity.isFinishing()是否成立,否則還要設定android:configChanges="orientation|screenSize|navigation",讓activity不重構。

相關推薦

Android 基礎異常出現在showdimiss dialog

在show或dimiss dilalog時會有可能會丟擲以下異常: show時, 1.android.view.WindowManager$BadTokenException: Unable to add window -- token [email protec

Python數據分析基礎: 異常值檢測處理

是否 以及 結合 分析 開發者 上下 理解 統計學方法 數據分析 在機器學習中,異常檢測和處理是一個比較小的分支,或者說,是機器學習的一個副產物,因為在一般的預測問題中,模型通常是對整體樣本數據結構的一種表達方式,這種表達方式通常抓住的是整體樣本一般性的性質,而那些在這

Android資料傳遞Intent傳遞ListObjectList(附原始碼)

一、傳遞List 傳遞List<String>的方法 ArrayList<String> info = new ArrayList<String>(); info.add(name); info.add(website); inf

Android高級NDK/JNI編程技術基礎介紹

data jint man 搭建 原理 編程 java代碼 rom pat 作為一個Andoird的Java程序猿,會受到Java語言的局限。由於作為一面門向對象的語言不能像C/C++那樣輕易調用與硬件有關的操作。因此JNI就搭建了這樣一

Android學習筆記屬性動畫基礎學習筆記

屬性動畫 屬性動畫系統是一個具有魯棒性的框架,允許你幾乎讓一切都動起來。你能夠定義一個動畫來隨著時間改變任何物件的任何屬性,無視該物件是否是畫在在螢幕上的。屬性動畫在指定的時間內改變屬性值(某個物件的某個屬性)。為了讓目標動起來,需要特別指明所要運動的目標的屬性,例如目標在螢幕上的位置,運動的時間長

Android進階如何寫一個屌的動畫(1)---先實現一個簡易的自定義動畫框架

class MyView extends View { public void onDraw(Canvas canvas) { super.onDraw(canvas); invalidate(); } } 這樣一來,View每次繪製都是觸發下一次繪製,不過

Java基礎異常

Java中什麼是Exception? 所有的異常都是通過Throwable衍生出來的。Throwable把錯誤進 一步劃分為 java.lang.Exception 和 java.lang.Error. java.lang.Error 用來處理系統錯誤,例如

Java基礎異常處理與輸入輸出流

finally中的程式碼執行時機 try{}語句中含有return,那麼finally還會執行嗎?如果會,那麼是什麼時候執行(return前還是return後) 在Java的異常處理中,不論什麼情形,finally中的邏輯一定會執行,也就是說try{}塊

javaScript基礎異常處理

導致 mis develop eof 解決 ted var 有效 fin ? ? ? ? ?理解異常在javaScript面向對象編程是非常重要的,異常是一種非常

Android開發-5界面裝修,五大布局你選誰

比例 技術分享 article 嵌套 content java lin layout mark 前言:假設要開一家店,門店裝修是非常重要的事情。有錢都請專門的建築設計公司來設計裝修,沒錢的僅僅能自己瞎折騰。好不好看全憑自己的感覺。像Android開發。在移動端大家看到的

數理統計基礎 05 - 回歸分析

關於 以及 區間估計 否則 del 相互 不同之處 最小二乘 研究   參數估計和假設檢驗是數理統計的兩個基礎問題,它們不光運用於常見的分布,還會出現在各種問題的討論中。本篇開始研究另一大類問題,就是討論多個隨機變量之間的關系。現實生活中的數據雜亂無章,夠挖掘出各種變量之間

T-SQL基礎03.子查詢

引用 鏈接 編程 pac tom 單表 獨立 但是 company 閱讀目錄 概述: 一、獨立子查詢 二、相關子查詢 三、練習題 以前總是追求新東西,發現基礎才是最重要的,今年主要的目標是精通SQL查詢和SQL性能優化。 本系列【T-SQL基礎】主要是針對T-S

Android 應用開發 ActionBar 樣式具體解釋 -- 樣式 主題 簡單介紹 Actionbar 的 icon logo 標題 菜單樣式改動

detail sub str 進度條 代碼分析 extc dst 模式 html 作者 : 萬境絕塵 ([email protected]/* */)轉載請著名出處 : http://blog.csdn.net/shulianghan/article/deta

Android進階(3)Android圖像處理

progress chang etc geo xtend static ogr arch 取出 1. 概念 色調/色相:物體傳遞的顏色 飽和度:顏色的純度,從0(灰)到100%(飽和)來進行描寫敘述 亮度/明度:顏色的相對明暗程度 2. 調整圖像小Demo 創建一個

項目基礎容器、AOP理論篇

b2c 需求 mark 配置 mod 維護 term -s 強制 一、容器(砂鍋) 1、概念: 容器是應用server中位於組件和平臺之間的接口集合 2、應用: 容器一般位於應用server之內,由應用server負責載入

Android進階Junit單元測試環境搭建以及簡單有用

rar theme 選擇 http 技術分享 才幹 ack package family 單元測試的目的 首先。Junit單元測試要實現的功能,就是用來測試寫好的方法是否可以正確的運行,一般多用於對業務方法的測試。 單元測試的環境配置 1.在Andro

轉載:Java基礎InputStream 、 InputStreamReaderBufferedReader

gen 結果 取字符 sys try eight string font buffer 來源:http://blog.csdn.net/zgljl2012/article/details/47267609 在Java中,上述三個類經常用於處理數據流,下面介紹一下三個類的

ADO.NET基礎加密方法經典集合

char 自定義 rst reac stream algorithm array temp esc 各種加密方法集錦: using System; using System.Security.Cryptography; using System.Text; using S

linux基礎rpm安裝程序管理

rpm使用1.了解應用程序應用程序(app):安裝在os上完成特定功能的軟件。應用程序的類型:*.rpm(redhat分支默認軟件格式),*.deb(debian分支默認軟件格式),源代碼(通用的軟件格式,也是生成rpm和deb的基礎),其他自帶安裝程序及免安裝的軟件。用戶程序常用的目錄:/etc,/var/

編程基礎C語言常見宏定義

ifd 轉換成 erro get 程序 運算 efi 宏定義 當前 我們在使用C語言編寫程序的時候,常常會使用到宏定義以及宏編譯指令,有的可能比較常用,有的可能並不是很常用,是不是所有的C語言宏定義以及宏指令你都清楚呢? 指令 用途詳細介紹 # 空指令,無任何效果 #i