android开发 webview点击空白处刷新怎么处理?

 我来答
平凡女人平凡事
推荐于2019-10-03 · TA获得超过1.9万个赞
知道小有建树答主
回答量:134
采纳率:100%
帮助的人:2.6万
展开全部

方法一:

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

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式