我有以下代碼會產生以下lint錯誤。 Kotlin在Android Studio 3.0-alpha8中應用()擴展lint消息
fun newInstance(message: String?): DialogFragment {
return DialogFragment().apply {
arguments = Bundle().apply {
putString("arg", message)
}
}
}
該消息指出this
參考內部apply()
功能指向BaseBundle
類,它是可用的API以來21會崩潰較低API。 Bundle#putString(key, value)絕對可用於較低版本,但Android Studio 3.0-alpha8中存在錯誤。
裏面做參考Bundle
類型不是BaseBundle
。
爲什麼我們首先有Lint錯誤?
你怎麼反編譯的代碼? – lelloman
@lelloman我確實依賴Android Studio「顯示Kotlin字節碼」。在Android Studio窗格右側顯示的選項卡中有一個「反編譯」按鈕。另一種方法是使用「classyshark-bytecode-viewer」,但我沒有嘗試過。 –
酷thx!我試過你的代碼,我注意到一件事,如果我使TestKt類擴展了View,警告消失..:\ – lelloman