在大多数情况下,在Activity中实现WebView点击返回键返回上一页是经常遇到的事情,并且很容易解决,如下:

1、在activity_webview.XML文件中定义

android:id="@+id/webView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:scrollbars="none">//无滚动条

2、在Activity中的onCreate()方法初始化WebView:

@Override

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_webview);

WebView webView = (WebView)findViewById(R.id.webView);

}

3、实现onKeyDown方法如下:

@Override

booleanonKeyDown(intkeyCode,KeyEvent event) {

if(keyCode == KeyEvent.KEYCODE_BACK&&webView.canGoBack()) {

webView.goBack();

return true;

}else{

//结束当前页

return super.onKeyDown(keyCode,event);

}

}

注意:添加权限:


那么在Fragment中,我们是如何进行webview点击返回键时返回上一级呢?

如下:

1、在fragment_webview.xml中

android:id="@+id/webView"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:scrollbars="none">

2、在Fragment的onCreateView中实现接口onKeyListener

@Override

publicViewonCreateView(LayoutInflater inflater,ViewGroup container,Bundle savedInstanceState) {

View view = inflater.inflate(R.layout.fragment_webview,container, false);

WebView webView = (WebView)view.findViewById(R.id.webView);

webView.setOnKeyListener(newView.OnKeyListener() {

@Override

public booleanonKey(View view, intkeyCode,KeyEvent keyEvent) {

if((keyCode == KeyEvent.KEYCODE_BACK) &&webView.canGoBack()) {

getActivity().runOnUiThread(newRunnable() {

@Override

public voidrun() {

webView.goBack();

}

});

return true;

}

return false;

}

});

returnview;

}

更多相关文章

  1. Android(安卓)SD卡操作
  2. android全屏去掉title栏的多种实现方法
  3. Android设置Settings实现:PreferenceActivity【1】
  4. Android(安卓)Studio 开发依赖库集锦
  5. FFmpeg的Android平台移植—编译篇
  6. Android的IPC机制Binder的详解(转发)
  7. android WebView全屏观看视频 全屏观看直播
  8. android panellistview 圆角实现代码
  9. Android(安卓)TabWidget/TabHost的使用

随机推荐

  1. android中实现暗码启动apk【一】
  2. 十年一顾,iOS与Android这样改变了我们
  3. 混合开发H5页面嵌入ios/Android及echarts
  4. Android中的第一个NDK的例子
  5. 10个最佳Android新闻应用模板
  6. 在Android图片缓存
  7. ListView分页加载数据
  8. Android(安卓)NDK开发之Jni调用Java对象
  9. Android(安卓)P版本(9.0) 新功能介绍和兼
  10. 让你大开眼界的10款Android界面设计