Pra*_*kro 13 android webview kotlin
我正在尝试定义一个全局变量,它是WebView类.在Android Java中,通过编写它可以轻松完成
用于全局变量的Java
< ClassName > < variableName >
Run Code Online (Sandbox Code Playgroud)
但在Kotlin,我面临着宣言的问题.
class MainActivity : AppCompatActivity() {
var mywebview : WebView //<- This shows Property must be initialized or be abstract
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
}
override fun onStart() {
super.onStart()
mywebview = findViewById(R.id.webViewGyrix) as WebView
mywebview.setWebViewClient(object : WebViewClient() {
override fun shouldOverrideUrlLoading(view: WebView?, url: String?): Boolean {
view?.loadUrl(url);
return true
}
} )
mywebview.loadUrl("http://www.example.com/")
}
Run Code Online (Sandbox Code Playgroud)
小智 27
您可以使用延迟初始化 - 您不必使WebView可以为空
lateinit var webView: WebView
Run Code Online (Sandbox Code Playgroud)
Mar*_*ski 18
这表明Property必须初始化或是抽象的
然后初始化它即到null
.这不是最终值,您可以在以后更改它:
var mywebview : WebView? = null
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用Kotlin的lateinit功能,mywebview
如果不需要,可以防止可以为空:
lateinit var webView: WebView
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18055 次 |
最近记录: |