繁体   English   中英

页面完全加载完成后显示Webview吗?

[英]Show Webview when page completly done loading?

为简单起见,假设我有1个活动,其中包含几个textViews,一个progressSpinner和一个webView。

webView可见性设置为“ gone”,其他所有设置为可见。 当页面加载完成并且要删除的2个div隐藏时,我想隐藏所有可见项并显示完全加载的webView。

但是,当我运行它时,我看到了所有可见的项目,此时webView没有显示(很好)。 几秒钟后,可见的项目消失,出现空白的webView(不应发生),然后加载页面,然后隐藏了2个div。

我想向用户隐藏此内容,如何将其设置为仅在页面完全完成加载且2个div隐藏后才显示webView?

public void onPageFinished(WebView view, String url)  {  
    webview.loadUrl("javascript:$('#MainMenu').hide()");
    webview.loadUrl("javascript:$('#EmployeeDashboard').hide()");
    android.os.SystemClock.sleep(2500); // My attempt to allow the divs to be hidden before it's displayed to the user
    findViewById(R.id.progressSpinner).setVisibility(View.GONE);
    findViewById(R.id.imageView1).setVisibility(View.GONE);
    findViewById(R.id.textView1).setVisibility(View.GONE);
    findViewById(R.id.textView2).setVisibility(View.GONE);
    findViewById(R.id.tvLoading).setVisibility(View.GONE);
    findViewById(R.id.webview).setVisibility(View.VISIBLE);
} 

在xml中,我有:

<WebView
        android:id="@+id/webview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:visibility="gone" />

我假设您正在创建Webview对象,然后调用loadUrl(...)

之后,不要将contentView设置为webView,而是将其设置为视图/图形/在加载时要显示的任何内容。

在您的onPageFinished中,将setContentView调用到您的webView。

MyWebView myWebView = new MyWebView();
myWebView.loadUrl ("http://whatever.com/goes/here");
setContentView(R.loadingurlspinner);

然后在你的onPageFinished()中

//stuff you have above
setContentView(myWebView);

发现我由于重定向而遇到麻烦,这对我有所帮助: 如何侦听完成加载URL的WebView?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM