內部Fragment設定為public static和checkReleaseBuilds false與abortOnError false
在維護一個老專案的時候,發現以前的Activity裡邊有一個內部Fragment繼承自DIalogFragment,但是這個內部Fragment沒有public和static修飾,Android Studio 智慧地發現了這個問題並給出了錯誤。雖然給出了錯誤提示,但是AndroidStudio竟然能正常的打包,檢視build.gradle發現了這句話
android {
lintOptions{
checkReleaseBuilds false
abortOnError false
}
}checkReleaseBuilds就是在打包Release版本的時候進行檢測,這裡就直接關掉了,這樣即使有報錯也不會停止打包了。這個也太簡單粗暴了。
還是按照規範設定內部fragment為public static 的吧。
這樣的話在fragment裡邊要訪問所屬activity的物件就通過getActivity然後強制型別轉換訪問,不能直接訪問了(static 訪問非static錯誤)。
注意兩點:
1、建議每個fragment都設定一個空的構造器,方便恢復狀態,有引數的構造器在恢復狀態的時候並不會呼叫。要給fragment傳遞引數,使用setArguments(Bundle)
2、非static內部類潛在會有記憶體洩露問題,因為其持有外部類的引用。static內部類不會持有外部類引用。
按照Lint的建議將內部類改成static靜態內部類後,由於不可能將當前類的所有全域性物件都宣告為static物件,所以會報“Cannot make a static reference to the non-static field”的錯誤,這時候可以使用軟引用來解決這個問題,具體程式碼如下:
public staticclassLoadDataHandlerextendsHandler{privateSoftReference<MainActivity> activitySRF =null;publicLoadDataHandler(MainActivity activity ){
activitySRF =newSoftReference<MainActivity>(activity);}
相關推薦
內部Fragment設定為public static和checkReleaseBuilds false與abortOnError false
在維護一個老專案的時候,發現以前的Activity裡邊有一個內部Fragment繼承自DIalogFragment,但是這個內部Fragment沒有public和static修飾,Android Studio 智慧地發現了這個問題並給出了錯誤。雖然給出了錯誤提示,但是An
eclipse 運行錯誤:在類XXX中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args) 否則 JavaFX 應用程序類必須擴展javafx.application.Application
分享圖片 java stat 報錯 es2017 pub .... img nbsp 新建了一個類Hello: 代碼: 第一次運行報錯: 點擊關閉該類的界面時出現: 點擊是,然後再次打開,可以正確執行,結果為: 這是為什麽.... ec
錯誤: 在類 Main 中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args) 否則 JavaFX 應用程序類必須擴展javafx.application.Application
導包 javafx 其他 就是 ring del args bsp pub 錯誤: 在類 Main 中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args)否則 JavaFX 應用程序類必須擴展
錯誤: 在類 com.js.sort.ArraySort 中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args) 否則 JavaFX 應用程式類必須擴充套件javafx.application.Application
https://blog.csdn.net/liu1340308350/article/details/80746671 開啟: eclipse ->window->preference->run and debug->Lunching 將第一行Sav
錯誤: 在類中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args) 否則
錯誤: 在類 ZiFUChuan.Pyramid 中找不到 main 方法, 請將 main 方法定義為: public static void main(String[] args) 否則 JavaFX 應用程式類必須擴充套件javafx.application.Ap
類呼叫自己的靜態方法必須把該方法設定為public
否則調用不了 ParaChecker.isOK(bindingResult); public class ParaChecker { static BaseResult paraCheck(BindingResu
C++中Public Static和Private Static區別
Static: 靜態成員的關鍵字,表示不能例項化,在你執行的時候他自己已經在記憶體中開闢了塊空間,所以不用new, 可以直接呼叫。類似全域性變數。 特點: 1、訪問static成員,用類而不是例項化的物件; 2、static方法只能訪問static屬性;&nb
類中找不到main方法請將main方法定義為public static void main. 否則 JavaFX 應用程式類必須擴充套件javafx.application.Application
最近在使用elcipise編寫java程式時遇到這樣一個問題:錯誤在類中找不到main方法,請將main方法定義為 public static void main(String[] args)否則 JavaFX 應用程式類必須擴充套件javafx.application.A
Java介面中的成員變數為什麼必須宣告為public static final?
一、為什麼要用final? 首先,我們應該明白一個問題。介面,實際上比抽象類更加抽象,它是最高層次的抽象。介面中的所有方法都是抽象方法,不會有任何實現方面的程式碼,而它的具體實現是要靠實現這個介面的具體類來具體實現的。而且,這個介面中的方法是不可更改的。同樣的,介面中的
錯誤: 在類中找不到 main 方法, 請將 main 方法定義為:public static void main(String[] args)否則 JavaFX 應用程式類必須擴充套件javafx.ap
最近在使用eclipse編寫java程式時遇到這樣一個問題: 錯誤在類中找不到main方法,請將main方法定義為 p
static和類變數與物件初始化載入時機
1.static修飾的範圍 使用範圍:在Java類中,可用static修飾屬性、方法、程式碼塊、內部類 被修飾後的成員具備以下特點: 隨著類的載入而載入 優先於物件存在 修飾的成員,被所有物件所共享 訪問許可權允許時,可不建立物件,直接被類呼叫 2.類變數(cla
Fragment null must be a public static class to be properly recreated from instance state.
Fragment null must be a public static class to be properly recreated from instance state. Android裡做一個RadioGroup實現底部導航頁面,遇到了這樣的問題: FATAL EXCEPTIO
用C程式設計,設定兩個外部中斷(INT0和INT1)按鍵,優先順序IP=0x04,即把外部中斷1設定為高階優先順序,外部中斷0為低階優先順序,使外部中斷1巢狀在外部中斷0中。
問題 用C程式設計,設定兩個外部中斷(INT0和INT1)按鍵,優先順序IP=0x04,即把外部中斷1設定為高階優先順序,外部中斷0為低階優先順序,使外部中斷1巢狀在外部中斷0中。 要求:中斷觸發方式為下降沿觸發,按鍵有消抖功能 模擬 程式碼 #include <
C/C++網路程式設計在windows和linux中將socket設定為阻塞和非阻塞
C/C++網路程式設計在windows和linux中將socket設定為阻塞和非阻塞 在 socket程式設計中,對於socket的讀寫預設都是阻塞的,但有的情況我們需要將其設定為非阻塞,比如做多
Java小遊戲DanceWithStars(二):修改本地文件中的圖片(圖片寬高和圖片型別)以及將圖片設定為JButton的影象
1. 修改本地文件中的圖片(圖片寬高和圖片型別) 為了使下載的圖片素材都具有統一的width和height,需要對下載來的圖片重新處理並另存 主要思想是:構造一個BufferedImage物件,用ImageIO.read()讀入,再用ImageIO.write()重畫 程式碼如下: 1 pac
eNSP華為模擬器交換機和路由器裝置密碼設定與取消
交換機設定密碼 system-view 進入系統檢視 [huawei]user-interface console 0 控制檯 [huawei-ui-console0]set authentication password cipher nihao 密碼 [huawei-ui-console
expect接收命令列傳遞的引數並設定為變數和列印變數的值
vim damo.expect #!/usr/bin/expect set name [lrange $argv 0 0] set age [lrange $argv 1 1] puts $name puts $age puts $argv ./damo.expect xiaoke age xia
為什麽main方法是public static void?
否則 鏈接 靜態 訪問 運行命令 containe zed zju 編程 Main方法是我們學習Java編程語言時知道的第一個方法,你是否曾經想過為什麽main方法是public、static、void的。當然,很多人首先學的是C和C++,但是在Java中main方法與前者
內部類是否設定為static的問題
在一個類中建立另外一個類,叫做成員內部類。這個成員內部類可以靜態的(利用static關鍵字修飾),也可以是非靜態的。由於靜態的內部類在定義、使用的時候會有種種的限制。所以在實際工作中用到的並不多。 在開發過程中,內部類中使用的最多的還是非靜態地成員內部類。不過在特定的情況下,靜態內部類也能夠發揮其獨特的
把scrapyd設定為系統後臺服務和啟動項
一、設定為系統後臺服務 1、新建檔案/etc/init.d/scrapyd,名稱為scrapyd #!/bin/bash PORT=6800 HOME="/var/scrapyd" BIN="/usr/local/bin/scrapyd" pid=`netstat -l