[英]coverting android java webview project to kotlin
Hello to all kind people你好所有善良的人
I have a Java webview project, and after I converted it to kotlin using " Control + Alt + Shift + K " Keys, I have got error on a variable that named " mWebView " here is MainActivity.jave file codes:我有一个 Java webview 项目,在我使用“Control + Alt + Shift + K”代码将其转换为 kotlin 后,我在 MainActivity 这个名为 mWebView 的文件中出现错误:
public class MainActivity extends Activity {
private WebView mWebView;
@Override
@SuppressLint("SetJavaScriptEnabled")
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = findViewById(R.id.activity_main_webview);
WebSettings webSettings = mWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
mWebView.setWebViewClient(new MyWebViewClient());
// REMOTE RESOURCE
mWebView.loadUrl("https://fa.azdamghest.com/test-canvas/");
// LOCAL RESOURCE
// mWebView.loadUrl("file:///android_asset/index.html");
}
@Override
public void onBackPressed() {
if(mWebView.canGoBack()) {
mWebView.goBack();
} else {
super.onBackPressed();
}
}
}
And Here is Converted MainActivity to Kotlin:这里是将 MainActivity 转换为 Kotlin:
class MainActivity : Activity() {
private var mWebView: WebView? = null
@SuppressLint("SetJavaScriptEnabled")
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
mWebView = findViewById(R.id.activity_main_webview)
val webSettings = mWebView.getSettings()
webSettings.javaScriptEnabled = true
mWebView.setWebViewClient(MyWebViewClient())
// REMOTE RESOURCE
mWebView.loadUrl("https://fa.azdamghest.com/test-canvas/")
// LOCAL RESOURCE
// mWebView.loadUrl("file:///android_asset/index.html");
}
override fun onBackPressed() {
if (mWebView!!.canGoBack()) {
mWebView!!.goBack()
} else {
super.onBackPressed()
}
}
}
You can see mWebView showing in Red Color您可以看到 mWebView 以红色显示
Thanks a Lot From Now从现在开始非常感谢
Since mWebView
is nullable, you should use safe call operator ( ?.
) wherever using it.由于
mWebView
可以为空,因此无论在何处使用,都应使用安全调用运算符 ( ?.
)。 So, instead of mWebView.getSettings()
, you should use mWebView?.getSettings()
.因此,您应该使用
mWebView?.getSettings()
mWebView.getSettings()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.