Fragment中含有WebView,回退按键交给WebView的处理

原创 2017年01月03日 15:05:57

完美解决方案:

 在FramgentAvitvity中处理,重写onKeyDown函数,在 keyCode==KeyEvent.KEYCODE_BACK时判断当前是哪个Fragment,得到这个Fragment之后获得对应的WebView,操作webView.goBack()。


示例代码:

private long mExitTime;
public static final int TOAST_SHOW_EXIT=1000;
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
if (currentFragmentIndex==0) {
haswebviw((WebView)homeFragment.getView().findViewById(R.id.wb_home));
}else if(currentFragmentIndex==1){
haswebviw((WebView)myAppFragment.getView().findViewById(R.id.wb_myapp));
}else if(currentFragmentIndex==2){
haswebviw((WebView)messageCenterFragment.getView().findViewById(R.id.wb_message));
}
else{
exitBy2Click();
}
return true;
}
return super.onKeyDown(keyCode, event);
}


public void haswebviw(WebView webView)
    {
        if(webView.canGoBack())
        {
            webView.goBack();
        }
        else{
            exitBy2Click();   //这是退出方法
        }
    }
private void exitBy2Click() {
if ((System.currentTimeMillis() - mExitTime) > 2000) {
Toast.makeText(this, "再点击返回一次退出", TOAST_SHOW_EXIT).show();
mExitTime = System.currentTimeMillis();
} else {
finish();
System.exit(0);
}
}

Fragment中添加一个WebView,webview的回退问题

在fragment中手机的回退键会被activity扑捉掉,经过多方查阅,下面是我处理这个问题的方法》 public class AFragment extends Fragment { ...
  • zhongruichun
  • zhongruichun
  • 2016年01月08日 14:01
  • 1984

activity被回收,fragment恢复处理

例如activity放在后台一段时间,当activity被回收之后,再重新进入activity的时候,会重新调用onCreate(),并且savedInstanceState不再是null,因此可以判...
  • w958796636
  • w958796636
  • 2016年02月01日 11:31
  • 4104

Fragment 里面加webview 监听onback事件

用了Fragment,在Fragment里面用了webview,一开始还好挺好做的,做的最后就准备收尾了,也就是细节的一些处理,在处理每个webview的back事件的时候出了个问题,我当时一心想在F...
  • qq_27665781
  • qq_27665781
  • 2015年11月18日 11:01
  • 1419

Fragment Webview 返回键监听

之前因为Fragment,不能监听返回键,所以把Fragment返回监听,放在了FragmentActivity上。FragmentActivity.java @Override public...
  • ly137387869
  • ly137387869
  • 2016年01月21日 11:56
  • 2437

【android进阶】Fragment内放置WebView,监听返回键,并返回之前打开的网页

参考链接:http://itindex.net/detail/53169-android-%E5%BC%80%E5%8F%91-webview                     http://b...
  • dodod2012
  • dodod2012
  • 2016年01月07日 15:37
  • 6555

WebView在Fragment中实现返回上一个网页

WebView在Fragment中实现返回上一个网页,而不是直接退出整个程序的方法。
  • ma19951995
  • ma19951995
  • 2016年06月02日 15:53
  • 3500

Fragment中监听onKeyDown事件

方法是这样的:   Activity实现Onkey事件,判断当前的fragment是哪一个,是不是所需要的Fragment,然后在需要监听OnKey事件的Fragment中写一个静态方法,传递keyc...
  • Picasso_L
  • Picasso_L
  • 2015年11月26日 11:09
  • 6110

Android之WebView在Fragment中实现返回上一个网页

WebView在Activity中可以通过以下方法实现返回上一个网页: public boolean onKeyDown(int keyCode, KeyEvent event) { ...
  • meiwan123
  • meiwan123
  • 2017年01月04日 14:05
  • 350

Android-如何正确使用WebView

1.android源码中封装了一个WebViewFragment: public class WebViewFragment extends Fragment { private WebVie...
  • goldenfish1919
  • goldenfish1919
  • 2014年08月08日 11:03
  • 10644

Fragment 和 WebView的组合应用

  • 2016年01月30日 22:39
  • 4.36MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Fragment中含有WebView,回退按键交给WebView的处理
举报原因:
原因补充:

(最多只允许输入30个字)