Fragment或WebView里监听返回键

标签: fragment webview 监听 | 发表时间:2015-04-24 19:11 | 作者:快快乐乐的北斗
出处:http://www.iteye.com

思路主要是在onResume事件里处理按钮事件并进行判断。

如果使用了WebView则在onKey里处理返回按钮事件。

 

代码如下:

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.webkit.WebView;
import android.widget.RadioButton;

/**
 * Created by Administrator on 2015/4/10.
 */
public class PostFragment extends Fragment{
    View rootView = null;
    WebView webViewForPost = null;
    //RadioButton radioButtonToPostList = null;

    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        rootView = inflater.inflate(R.layout.post_layout, container, false);
        webViewForPost = (WebView) rootView.findViewById(R.id.webViewForPost);
        int index = Integer.valueOf(getArguments().get("index").toString());
        String strategy = "strategy"+(index+1)+".html";
        webViewForPost.loadUrl("file:///android_asset/"+strategy);

        webViewForPost.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 ) {
                       //这里处理返回键事件
                    }
                }
                return false;
            }
        });
        return rootView;
    }


    @Override
    public void onResume() {
        super.onResume();
        getView().setFocusableInTouchMode(true);
        getView().requestFocus();
        getView().setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {

                if (event.getAction() == KeyEvent.ACTION_UP && keyCode == KeyEvent.KEYCODE_BACK){
                    //这里处理返回事件
                }
                return false;
            }
        });
    }

}

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [fragment webview 监听] 推荐:

Fragment或WebView里监听返回键

- - 移动开发 - ITeye博客
思路主要是在onResume事件里处理按钮事件并进行判断. 如果使用了WebView则在onKey里处理返回按钮事件. 已有 0 人发表留言,猛击->> 这里<<-参与讨论. —软件人才免语言低担保 赴美带薪读研.

WebView JS 交互

- - ITeye博客
WebView加jquery做页面会怎么样呢. // 创建WebView对象. // 把programList添加到js的全局对象window中,. // 这样就可以使用window.programList来获取数据. * 定义js回调java函数. // 绑定键盘的向上,向下按钮事件触发相应的js事件.

Android WebView 用法

- - 移动开发 - ITeye博客
Android和iOS系统都提供了标准的浏览器控件,在Android中是WebView,iOS中为UIWebView. 在iOS中你实例化一 个UIWebView即可调用loadRequest来加载一个网页,但是在Android中你不仅需要创建一个WebView,还需要做一些其他的事 情,建议初次使用WebView的读者按照以下步骤使用:.

Android开发:使用Fragment改造TabActivity

- - BlogJava_首页
TabActivity在API 13(Android 3.2)被标记为过期,需要使用Fragment来实现,Fragment是Android 3.0引入的一个概念,主要就是为了适应各种不同的屏幕大小(手机、平板电脑). Android 4.1发布时,google还发布了一个Android Support v4的包,用于Android 1.6以上的系统兼容新的特性,其中包括Fragment.

Activity与Fragment之间传递参数

- - 移动开发 - ITeye博客
      在Activity中加载Fragment的时候需要传值到另Fragment,也就是说Activityg与Fragment之间进行参数的传递,可以使用bundle进行参数传递,看代码:.       在activity中获取fragment中的数据. //在activity中获取相对应的fragment中的数据.

WebView使用总结

- - ITeye博客
        以下是使用WebView过程中的部分场景和解决方案. 如果WebView是放在TabHost中的Activity, 而且WebView中包含html的select,会在点击其中的Item时候崩溃,异常信息如下: android.view.WindowManager$BadTokenException: Unable to add window.

Activity嵌套多个Fragment实现横竖屏切换

- - CSDN博客推荐文章
       近期项目遇到个横竖屏切换的问题,较为复杂,在此记之.        1、Activity中竖屏嵌套3个Fragment,本文简称竖屏FP1,FP2,FP3.        2、其中竖屏FP1与FP2可以切换为横屏的FL1,FL2,即竖屏FP1切换到对应的横屏FL1,竖屏FP2对应切换到横屏FL2.

webView使用方法小结

- - CSDN博客推荐文章
1、添加权限:AndroidManifest.xml中必须使用许可"android.permission.INTERNET",否则会出Web page not available错误. 2、在要Activity中生成一个WebView组件:WebView webView = new WebView(this);.

WebView中的视频播放

- - 移动开发 - ITeye博客
activity_main.xml如下:. private String videoUrl = "视频地址.mp4";. private String imgUrl = "视频封面图片地址.png";. private String html = "视频如下:
应用开发托管服务';