
android开发 webview点击空白处刷新怎么处理?
方法一:
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url); //在当前的webview中跳转到新的url
return true;
}
});
方法二:
mWebView.goBack(); //后退
mWebView.goForward();//前进
mWebView.reload(); //刷新
//点击后退按钮,让WebView后退一页(也可以覆写Activity的onKeyDown方法)
webview.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (event.getAction() == KeyEvent.ACTION_DOWN) {
if (keyCode == KeyEvent.KEYCODE_BACK && webview.canGoBack()) { //表示按返回键
时的操作
webview.goBack(); //后退
//webview.goForward();//前进
return true; //已处理
}
}
return false;
}
});
Android WebView加载网页,实现前进、后退、刷新、超链接详细步骤:
1.先在要显示网页的布局文件中声明WebView
2.在Activity中实例化WebView
3.调用WebView的loadUrl( )方法,设置WevView要显示的网页
4.为了让WebView能够响应超链接功能,调用setWebViewClient( )方法,设置 WebView视图
5.在用WebView的网页打开连接后想要具有返回原来的网页的功能,可通过覆盖Activity类的onKeyDown()方法,如果不做任何处理,点击手机自带的返回按键,浏览器则会调用finish()关闭浏览器,而不是回退到上一页面
6.要访问到网络还需要在AndroidManifest.xml文件中添加权限,否则会出现Web page not available错误。
目的:实现用webview显示网页,并且回退时回到上一个页面,而不是退出WebView ,地址栏也没有。
mWebView.goBack(); //后退
mWebView.goForward();//前进
mWebView.reload(); //刷新
package com.example.netconnect3;
import android.app.Activity;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class MainActivity extends Activity {
private WebView webview;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//2、在Activity中实例化WebView
setContentView(R.layout.activity_main);
webview = (WebView) findViewById(R.id.webview);
//第2步也可以替换为下面这两句,就不要R.layout.activity_main布局文件了
//mwebview = new WebView(this); //实例化WebView对象
//setContentView(mwebview);
// 设置WebView属性,能够执行Javascript脚本
webview.getSettings().setJavaScriptEnabled(true);
//3、 加载需要显示的网页
webview.loadUrl("http://www.baidu.com/");
///4、设置响应超链接,在安卓5.0系统,不使用下面语句超链接也是正常的,但在MIUI中安卓4.4.4中需要使用下面这条语句,才能响应超链接
webview.setWebViewClient(new HelloWebViewClient());
}
@Override
// 设置回退
// 5、覆盖Activity类的onKeyDown(int keyCoder,KeyEvent event)方法
public boolean onKeyDown(int keyCode, KeyEvent event) {
//按下返回键并且webview界面可以返回
if ((keyCode == KeyEvent.KEYCODE_BACK) && webview.canGoBack()) {
webview.goBack(); // goBack()表示返回WebView的上一页面
return true;
}
return super.onKeyDown(keyCode,event);
}
// Web视图
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
布局文件:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<WebView
android:id="@+id/webview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>"
</RelativeLayout>
参考资料
薛瑄的博客:http://blog.csdn.net/xx326664162/article/details/50902089
广告 您可能关注的内容 |