项目需求:WebView在loadUrl的时候显示一个dialog,加载好之后dismiss这个dialog
aidHomeWebView = (WebView)findViewById(R.id.aidHomeWebView);
aidHomeWebView.loadUrl(URL);
aidHomeWebView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String urlNewString) {
aidHomeWebView.loadUrl(urlNewString);
return true;
}
@Override
public void onLoadResource(WebView view, String url) {
//SHOW LOADING IF IT ISNT ALREADY VISIBLE
ProgressDialogUtil.showProgressDialog(OceanHouseActivity.this);
}
@Override
public void onPageFinished(WebView view, String url) {
//HIDE LOADING IT HAS FINISHED
ProgressDialogUtil.dismissProgressDialog();
}
});
试了上述方法,发现一个问题,有时dialog出现多次,当dialog消失的时候,页面往往还是没有加载好。
So,换别的方法:
You can do it by setting up a Timer which checks for progress of current page by calling
getProgress() and if it is less than some threshold after some specified time then you can dismiss the loading of the current page.
代码如下:
Timer timer = new Timer();
TimerTask task = new TimerTask(){
public void run() {
setTitle("hear me?");
while(aidHomeWebView.getProgress() != 100){
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
ProgressDialogUtil.dismissProgressDialog();
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
this.setContentView(R.layout.ocean_house);
lay_oceanhouse=(FrameLayout)findViewById(R.id.lay_oceanhouse);
showView();
aidHomeWebView = (WebView)findViewById(R.id.aidHomeWebView);
aidHomeWebView.loadUrl(URL);
ProgressDialogUtil.showProgressDialog(this); // add...
timer.schedule(task, 1000); // add...
returnButton_oceanhouse = (Button)findViewById(R.id.returnButton_oceanhouse);
returnButton_oceanhouse.setOnClickListener(this);
}
成功了!
分享到:
相关推荐
一个需求,当点击Button按钮时,希望加载另一个Url。 以下方法可以成功! @Override public void onClick(View view) { webview.loadUrl(url); webview.loadUrl( [removed][removed].reload( true ) ); } 亲测...
在写webapp的时候,经常需要用JS调用Java方法,java方法执行完毕以后,再回调JS函数来做一些事情,而webview调用js的时候是通过loadUrl方法的,一执行loadUrl就会隐藏软键盘。因为每次loadUrl操作都会调用...
NULL 博文链接:https://buptmax.iteye.com/blog/774633
主要介绍了Android Webview的postUrl与loadUrl加载页面实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
android webview 顶部进度条+旋转等待dialog例子、可直接运行。
WebView2-对话框样本一个简单的示例,说明如何将WebView2控件嵌入自定义浏览器控件中
与此同时,js主动调用android的对象方式,android也无法返回给js一个jsonobject,需要js做一下转换,例如: Android 代码: 代码如下: WebView mWebView = (WebView) this.findViewById(R.id.webview); WebSettings
webview 监听页面显示事件,很好用
实现webview加载时显示进度条,类似微信公众号文章加载。
webview显示图片并下载
WebView加载URL程序,可以在上面学习webview的使用,在进行html加载的时候,进行了代码设置,设置不会转跳浏览器,页面随着手机屏幕自动调整。
Android中实现WebView点击图片放大显示,完整代码demo。
Android 获取WebView加载网页的例子,这个方法挺简单的,希望大家喜欢。 // 获取WebView对象 WebView webview = (WebView) findViewById(R.id.webview); // 使能JavaScript webview.getSettings()....
最近写项目,有个功能是webView中的网页返回到上个页面,我在网上找了一下,总结了一下,把demo上传到这,和大家分享学习
最近在activity嵌套webview显示大量图文发现APP内存一直在涨,没法释放内存,查了很多资料,大概是webview的一个BUG,引用了activity导致内存泄漏,所以就尝试传递getApplicationContext。 1.避免在xml直接写webview...
最近做项目过程中,遇到到webview 的各种奇葩问题,相信搞Android开发的也遇到不少webview的适配问题吧,但是前几天遇到webview加载一半的...最后终于想到了一个本方法,可以解决显示不全的问题,加载的是html,不是url
android WebView的使用,让你快速的学会WebView
加载出webview,滑动时候显示toast,松手后两秒toast隐藏