1. 程式人生 > >Dialog根據網路狀態顯示,網路正常自動消失時,dismiss無效

Dialog根據網路狀態顯示,網路正常自動消失時,dismiss無效

開發需求:在網路斷開的時候自動彈出dialog通知使用者,等待自動重連後呼叫dismiss使dialog消失。
遇到問題:網路斷開時,呼叫dismiss無效。
程式碼截圖:
錯誤示例1

錯誤示例2
由於網路斷開或者連線都會接收廣播從而呼叫onReceive,從而初始化一個dialog,如果網路斷開就會show(),但是當網路再次連線時仍然會初始化一個dialog,因此呼叫dismiss()時,dismiss的物件已經不是網路斷開時呼叫show()所顯示的dialog了,因此已經顯示的dialog不會消失

改正過後的正確示例
改善之後的程式碼:
1. 將dialog定義為全域性變數,從而保證網路斷開或者重連時的dialog物件一致。
2. 將dialog建立程式碼塊放到斷開的時候建立從而提升效率。
3. 重連dismiss後使dialog=null從而釋放了記憶體,節省了資源。

相關推薦

Dialog根據網路狀態顯示網路正常自動消失dismiss無效

開發需求:在網路斷開的時候自動彈出dialog通知使用者,等待自動重連後呼叫dismiss使dialog消失。 遇到問題:網路斷開時,呼叫dismiss無效。 程式碼截圖: 由

網路狀態改變是無序廣播還是有序廣播安裝了沒啟動過會接受這個廣播麼?

是無序廣播 不會接受這個廣播 因為android在3.0之後,對廣播添加了一個flag : Intent.FLAG_EXLUDE_STOPPED_PACKAGES 這個是為了加強對“停止”狀態APP的

android 網路實時監聽網路狀態變化 及 網路型別判斷

android 中 我們經常需要判斷 各種網路型別   然後需要給使用者做出相應的提示,一般網路型別有 2g ,3g,4g ,wifi,無網路等等。 1. 網路型別判斷 TelephonyManag

求較大整數n的階乘因為n較大n的階乘超出了正常類型的表示範圍可以采用數組進行操作(c實現)

c語言 n階乘下面鏈接是java的實現,思路叫清晰點http://blog.51cto.com/6631065/2044441 #include <stdio.h> void Print_Factorial ( const int N ); int main() { int N; sc

confirm顯示數組中的內容總是帶一個逗號分隔的解決方法

script new arr sub blog item type onf val 問題的關鍵 就是在給confirm顯示之前,將數組轉換成字符串,並以每個數組的元素為一個字符串,加上一個換行回車符即可: 代碼中的背景色 為關鍵的點 <script type="te

【面試題】多執行緒在執行過程中某個執行緒執行突然釋放鎖。會發生的特殊狀態

一,背景 今天在刷面試題的時候,做到一道面試題,雖然看了答案,但有一個答案還是不理解。後來研究了一下,得到結論:執行緒拿到鎖進行執行時,哪怕獲得了CPU執行權,但是那個鎖不能丟失,它後面執行的過程都需要帶著鎖,才能往下繼續執行。 二,測試程式碼 /**

帝國CMS使用sql語句查詢有些欄位不顯示

使用sql查詢資料時,有些欄位不顯示,比如<?=$bqsr[classname]?>顯示為空,或者其他的。 [e:loop={'select classid,classpath,classname from [!db.pre!]enewsclass where

Spring boot入門(三):SpringBoot整合結合AdminLTE(Freemarker)利用generate自動生成程式碼利用DataTable和PageHelper進行分頁顯示

  關於SpringBoot和PageHelper,前篇部落格已經介紹過Spring boot入門(二):Spring boot整合MySql,Mybatis和PageHelper外掛,前篇部落格大致講述了SpringBoot如何整合Mybatis和Pagehelper,但是沒有做出實際的範例,本篇部落格是連

Android 聯絡人在中文繁體和English語言切換中文聯絡人排序顯示亂碼

alps/packages/providers/ContactsProvider/src/com/android/providers/contacts/LocaleSet.java --- a/alps/packages/providers/ContactsProvider

僅使用css當body高度不足讓footer始終底部顯示

<!DOCTYPE html> <html> <head> <style> *{ margin: 0; padding: 0; }

【Azure 應用服務】App Service站點Header頭中的中文資訊顯示亂碼?當下載檔案檔名也是亂碼?

問題描述 在本地開發的站點,響應頭中的中文可以正常顯示,部署到Azure App Service站點後,響應中文亂碼。通過多方面驗證,在程式碼中設定Response的Headers會顯示亂碼,而直接配置在Web.Config中的Header則能正常顯示。   程式碼中寫的中文會亂碼 context

final類的自動加載命名空間

父類 建議 spa ech 如果 include 自動 自定義 要去 final是幹什麽的一般是為了防止父類的一個方法被重寫如果父類中的方法被聲明為 final,則子類無法覆蓋該方法。如果一個類被聲明為 final,則不能被繼承。 Note: 屬性不能被定義為 final,

ORA-03206當表空間不夠如何以添加數據文件的方式擴展表空間

style 創建表空間 mage all 註意 flow ada -- 導入 準備導入一個數據庫,大約為33G,開始創建的空庫表空間為自增到20G,結果自然不夠,然後就開始自動擴展表空間大小 使用的如下語句 --自動擴展表空間大小 ALTER DATABASE DA

#-webkit-autofill##google#啟用表單自動填充如何覆蓋黃色背景

type important area not work box ins chang 填充 ace #-webkit-autofill##google#啟用表單自動填充時,如何覆蓋黃色背景 google和opera瀏覽器的表單自動填充後,輸入框均會變成黃色背

Python讀取文件使用split進行分割出現ufeff

lin replace little 讀取文件 get txt ace tty 連續 1.問題 使用python3.6對文件讀取時,按照正常套路處理,文件內容類似以下: 啊啊啊 || AAA 不不不 || BBB 當使用utf-8讀取文檔並且使用split函數分割時,發現第

正確生成浮點型的方法解決sqlachemy Float浮點型的坑生成float類型長度和精度均為0導致查詢不到結果!

依然 tab 圖片 control 選擇 分享 ice mod ble 問題描述 在使用flask_sqlachemy時,給price字段選擇了Float類型,數據庫用的mysql,生成數據庫表後,發現 from sqlalchemy import Float

pytorch 在測試階段進行前向推斷視訊記憶體累加溢位問題

1、問題描述:   pytorch中,在測試階段進行前向推斷執行時,隨著for迴圈次數的增加,視訊記憶體不斷累加變大,最終導致視訊記憶體溢位。 2、解決方法:    使用如下程式碼處理輸入資料:   假設X為模型的輸入   X = X.cuda()   input_bl

Combobox控制元件使用MoveWindow()移動位置OnNcCalcSize訊息處理

說到OnNcCalcSize在程式內部的訊息處理次數。主要說的是Combobox控制元件 1:如果是從工具箱拖出來的控制元件 只會走一次  OnNcCalcSize()  訊息 2:從工具箱中拖出來的控制元件,並且使用了MoveWindow時   &

結構體中的指標用malloc初始化沒有分配足夠的記憶體空間造成下述錯誤

      對結構體中的指標,初始化和釋放,遇到堆損壞問題(附連結點選開啟連結)點選開啟連結) out_defect.texturing = (TEXTURING *)malloc(sizeof(TEXTURING

【測試深度】Ios10含以下Json結構中body的value為“”作業系統無法展示Notification

{ "open_ids": "6456064906536960", "data": { "title": "A friend wants to share mood with you. Check it out.", "content": "", "url": "", "ui