WebView在Fragment中点击返回键返回上一页

在大多数情况下,在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);

}

}

注意:添加权限:

<uses-permissionandroid:name="android.permission.INTERNET"/>

那么在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;

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,721评论 0 17
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,327评论 25 709
  • 动态创建fragment的流程 1.0 新建一个类继承fragment. 2.0 在自定义的fragment里面复...
    左神话阅读 6,565评论 0 3
  • 夜光藻--蓝色的幽灵,动物及藻类的习性,无毒2014突然来厦鼓港一夜之间,来去忽忽。 赤潮如地球的一次感冒,海堤的...
    西畔阅读 1,514评论 0 0
  • 我曾埋怨命运为何如此不公, 让我几经劫难。 如今我发现, 所有的一切自有安排,每种安排都有它的意义, 不管好坏, ...
    许子沐阅读 5,813评论 1 3