執行Fragment的getActivity()方法返回null
在android開卡中Activity+ViewPager+Fragment幾乎是每一個專案中都會使用到的結構,在Fragment中如果需要使用到Context物件一般就是getActivity()。但是如果Activity被銷燬的話,getActivity()便會返回null。
解決方案有以下幾種:
1.不儲存fragment的狀態:在Activity中重寫onSaveInstanceState方法,將super.onSaveInstanceState(outState);註釋掉,讓其不再儲存Fragment的狀態,達到fragment隨MyActivity一起銷燬的目的。
2.重建時清除已經儲存的fragment的狀態:在恢復Fragment之前把Bundle裡面的fragment狀態資料給清除。方法如下:
if(savedInstanceState!= null)
{
String FRAGMENTS_TAG = "Android:support:fragments";
savedInstanceState.remove(FRAGMENTS_TAG);
}
3.使用全域性Application得到的Context
(1)在Manifest中註冊Application
<application
android:name=".MyApplication"
android:icon="@drawable/ic_launcher"
android:label="@string /app_name" >
(2)建立Application,以單利的形式提供對外引用
public class MyApplication extends Application {
private static MyApplication instance;
@Override
public void onCreate() {
super.onCreate();
instance = this;
}
public static MyApplication getInstance(){
// 這裡不用判斷instance是否為空
return instance;
}
}
(3)在程式中使用
Context context = MyApplication.getInstance();
Toast.makeText(context, "Your Toast Message", Toast.SHORT_TOAST).show();
相關推薦
執行Fragment的getActivity()方法返回null
在android開卡中Activity+ViewPager+Fragment幾乎是每一個專案中都會使用到的結構,在Fragment中如果需要使用到Context物件一般就是getActivity()。但是如果Activity被銷燬的話,getActivity()
Android中GridView、ListView 的 getChildAt() 方法返回null 問題解釋
開發的Android app用到了GridView或者ListView,通常使用getChildAt(int position)方法獲取當前點選或者選中的View(即position對應的View)。 當ListView、GridView沒有滑動的時候,可以正常地獲
以太坊挖礦失敗,執行miner.start返回null
問題場景 最近技術群中的朋友經常問到這樣的問題,環境搭建已經搭建好,geth節點也成功啟動,可為什麼當執行miner.start()方法時卻沒有挖礦,返回null。 其實,不僅僅這些朋友,本人在啟動最新節點進行挖礦的時候也遇到類似的問題。今天就帶大家分析一下引起這個問題可能的幾個原因。
BitmapFactory.decodeStream方法返回null的錯誤分析
這個問題其實早就遇到了,由於停了幾天電無法工作,今天就把這問題記錄下分享下。利用BitmapFactory載入網路中的圖片時,使用decodeStream方法會返回null的錯誤。主要是由於下面幾個原因導致的: 流已經關閉 decodeStream呼叫了兩次
Android中GridView、ListView 的 getChildAt() 方法返回null 問題
開發的Android app用到了GridView或者ListView,通常使用getChildAt(int position)方法獲取當前點選或者選中的View(即position對應的View)。 當ListView、GridView沒有滑動的時候,可以正常地獲
Java呼叫Document.getElementById方法返回null的解決辦法
Java中操作xml的函式Document.getElementById(String id),是通過指定的id來獲取對應的element。但是僅僅定義了正確的schema和對應的xml檔案是不夠的,返回值仍然是null。因為我們不僅要告訴xml檔案我們所用的schem
關於為何TreeMap中用列印語句列印get方法會返回null的原因(解決辦法有待完善)
以上會get到null值,究其原因,可以從get方法原始碼中找到答案。TreeMap集合中實現Map集合的get程式碼如下: public V get(Object key) { &
findFragmentById() 方法總是返回null (kotlin)
fragmentManager.findFragmentById() 屬於包android.app.Fragment supportFragmentManager.findFragmentById()
小程式使用selectComponent獲取自定義元件時,返回null(分析和解決方法)
一、原因: 元件所在的佈局層級不同,該元件被建立的時間會有所不同,意味著ready(元件生命週期函式,元件佈局完成後執行)被呼叫的時間有所不同。由於元件建立完成的時間晚於頁面建立完成,即元件生命週期函式的ready被執行的時間晚於頁面生命週期
Mybatis查詢,查詢一個欄位的時候,沒有值,並且返回null,報空指標的解決方法
select IFNULL (MAX(custid), 0) AS custId from user_work_enroll_cust where phone=#{phone}MYsql這裡我們使用IFNULL函式處理即可其他資料在SQLSERVER中我們可以這樣寫:sele
安卓BitmapFactory.decodeStream()返回null的問題解決方法
今天遇到了一個問題,最終解決,記錄下解決方案: 問題:從網路獲取圖片,資料為InputStream流物件,然後呼叫BitmapFactory的decodeStream()方法解碼獲取圖片,返回null。 --------------------------------
JavaScript中執行function方法,並返回執行結果
以下程式碼實現JavaScript中執行MessageDialog方法成功後,執行回撥方法MessageDialogCallBack <!DOCTYPE html> <html> <head> <meta charset=
JDBC rs.getInt() 方法將null返回0,解決方案。
JDBC ResultSet 的getInt, getLong, getDouble, getFloat等方法,不論資料庫中是否儲存為null,都返回0,或者0.0。 那如何才能返回null呢? 我個人是加上判斷,程式碼如下: ResultSet rs = statem
dom4j使用XPath解析XML返回null的解決方法
使用XPath解析XML的時候,在基本程式碼沒有寫錯的情況下,使用selectSingleNode()方法獲取xml的內容時返回null值,很有可能是因為xml設定了名稱空間。 1)在沒有名稱空間的情況下,book.xml的檔案(檔案位於src/cn/edu/gdut/we
Mysql中的資料用 json_decode 解析返回null的一則處理方法
剛剛遇到一個php json_decode解析的問題,記錄一下解決方法: 一個調查問卷系統,從資料庫中取出多條記錄,其中以下一條資料記錄,在用php json_decode解析時,結果返回NUll {"question_1359":"韓亮","question_1360":
Centos 執行shell命令返回127錯誤
建數據庫 mysq data 存在 思路 功能 自動創建 運行 用戶 shell腳本功能:連接mysql,自動創建數據庫,腳本如下 mysql -h$MYSQL_IP -u$MYSQL_USER -p$MYSQL_PASSWORD --default-character-s
springmvc 處理器方法返回的是modelandview 重定向到頁面
ima src log images 1-1 分享 .cn png mage springmvc 處理器方法返回的是modelandview 重定向到頁面
win10 IoT開發 Serial?Device 返回 null
box .com ica reat flow ron serial omid async 樹莓派3,win10 Iot,串口開發,抄例子,串口獲取返回老是null,例子卻可以,代碼一樣,上網查詢結果如下: https://stackoverflow.com/questio
springmvc Controller方法返回值
response ping resp log mod for iter 頁面 轉發 1.1返回ModelAndView 不建議使用 1.2返回String 建議使用 @RequestMapping("updateItem") public String updat
java方法返回值的變量類型困惑
tail 方法 .com color conf 類型 log content font 一、java program progress of excuting:show in next picture How about the java virt