Xamarin WebViewClient onLoadResource/onPageFinished
Xamarin WebViewClient onLoadResource/onPageFinished
您好,我正在尝试创建一个 WebView 应用程序,我想创建一个等待对话框,直到页面加载完毕。
但是我尝试了不同的解决方案,但我无法弄清楚为什么它在互联网上为其他人工作时不起作用。它在 Xamarin 中失败,说在这一行 webview.SetWebViewClient(new WebViewClient() {,即使我确定我记得 }) 之后缺少“}”;然后结束。
它似乎无法在 webview.SetWebViewClient() 中创建内容。
webview.SetWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onLoadResource(WebView view, String url) {
//code to show dialog
}
public void onPageFinished(WebView view, String url) {
//code to dismiss dialog
}
});
要在 C# 中将 WebViewClient 添加到 WebView 并显示来自 shouldOverrideUrlLoading
的 Toast 消息,您需要通过将 WebViewClient
扩展为:
创建一个 class
public class HelloWebViewClient : WebViewClient
{
public Activity mActivity;
public HelloWebViewClient(Activity mActivity){
this.mActivity=mActivity
}
public override bool ShouldOverrideUrlLoading (WebView view, string url)
{
view.LoadUrl (url);
Toast.MakeText (mActivity, "Toast Message",
ToastLength.Long).Show();
return true;
}
}
并使用HelloWebViewClient
class构造函数传递activity上下文:
web_view.SetWebViewClient (new HelloWebViewClient (this));
您好,我正在尝试创建一个 WebView 应用程序,我想创建一个等待对话框,直到页面加载完毕。
但是我尝试了不同的解决方案,但我无法弄清楚为什么它在互联网上为其他人工作时不起作用。它在 Xamarin 中失败,说在这一行 webview.SetWebViewClient(new WebViewClient() {,即使我确定我记得 }) 之后缺少“}”;然后结束。
它似乎无法在 webview.SetWebViewClient() 中创建内容。
webview.SetWebViewClient(new WebViewClient() {
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
public void onLoadResource(WebView view, String url) {
//code to show dialog
}
public void onPageFinished(WebView view, String url) {
//code to dismiss dialog
}
});
要在 C# 中将 WebViewClient 添加到 WebView 并显示来自 shouldOverrideUrlLoading
的 Toast 消息,您需要通过将 WebViewClient
扩展为:
public class HelloWebViewClient : WebViewClient
{
public Activity mActivity;
public HelloWebViewClient(Activity mActivity){
this.mActivity=mActivity
}
public override bool ShouldOverrideUrlLoading (WebView view, string url)
{
view.LoadUrl (url);
Toast.MakeText (mActivity, "Toast Message",
ToastLength.Long).Show();
return true;
}
}
并使用HelloWebViewClient
class构造函数传递activity上下文:
web_view.SetWebViewClient (new HelloWebViewClient (this));