`
wujierd
  • 浏览: 46155 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

android 在fragment中如何监听返回键,home键

 
阅读更多
在activity中用keydown很容易实现对返回键的监听,但是这个函数不能再fragment中重载。
通过我呕心沥血的寻找,终于找到了解决办法,对其他物理按键的监听也同理。
public class phonerecorder extends Fragment {
    View listview;
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        listview = (View) inflater.inflate(R.layout.phonerecorder, null);
        mListView = (ListView) listview.findViewById(R.id.listView);
        init();
        mListView.setOnItemClickListener(clickitemlistener);
        listview.setFocusable(true);//这个和下面的这个命令必须要设置了,才能监听back事件。
        listview.setFocusableInTouchMode(true);
        listview.setOnKeyListener(backlistener);
        return listview;
    }
  private View.OnKeyListener backlistener = new View.OnKeyListener() {
        @Override
        public boolean onKey(View view, int i, KeyEvent keyEvent) {
            if (keyEvent.getAction() == KeyEvent.ACTION_DOWN) {
                if (i == KeyEvent.KEYCODE_BACK) {  //表示按返回键 时的操作
                    if (!rootpatch.equals(currentfilepach) && currentfilepach != null) {
                        File file = new File(currentfilepach);
                        openDir2(file.getParent().toString());
                        currentfilepach = file.getParent().toString();
                        return true;
                    } //后退
                    return false;    //已处理
                }
            }
            return false;
        }
    };
}

分享到:
评论

相关推荐

    在Fragment监听返回键

    有时,我们可能需要在Fragment中监听设备的返回键事件,以便在用户按下返回键时执行特定的操作,比如关闭当前Fragment而不退出整个Activity。本篇文章将详细讲解如何在Fragment中实现返回键监听。 首先,我们需要...

    android监听返回按钮事件的方法

    此外,如果希望在其他地方处理返回事件,例如在Fragment中,可以使用`onOptionsItemSelected()`方法监听`OptionsItemSelectedEvent`,并检查`MenuItem`的`itemId`是否为`android.R.id.home`,这代表了应用栏中的返回...

    点击退出返回上一个Fragment

    在Android应用开发中,Fragment是Activity的一个模块化组件,它可以在Activity中添加、移除或替换,用于构建灵活且复杂的用户界面。"点击退出返回上一个Fragment"这一主题涉及到Fragment的回退栈管理和用户交互。...

    Android监听Home键实例详解

    在Android系统中,监听Home键事件并非像监听其他硬件按键那样简单,因为Home键被设计为用户快速返回主屏幕的快捷方式,系统默认不会允许开发者对其进行完全的拦截和控制。然而,通过一些特殊的方式,我们可以实现对...

    android 自定义对话框+捕捉返回和菜单键

    4. **监听按键事件**:为了监听返回键和菜单键,需要在Activity或Fragment中覆写`onKeyDown()`和`onOptionsItemSelected()`方法。对于返回键,你可以检查按下的是KEYCODE_BACK,并显示自定义对话框;对于菜单键,当...

    android理解Fragment生命周期(字典)

    在Android开发中,`Fragment`是一种可以嵌入到`Activity`中的用户界面片段,它可以被重用在多个活动中,并且能够独立管理自己的生命周期。理解`Fragment`的生命周期对于构建响应迅速、高效的应用程序至关重要。本文...

    Activity和Fragment生命周期研究

    back stack维护了Activity或Fragment的历史记录,使得用户可以通过按返回键回溯之前的界面。 总之,Activity和Fragment是Android开发中的核心组件,理解它们的生命周期对于编写高效、稳定的应用至关重要。开发者...

    Android Fragment Lifecycle

    在Android应用开发中,Fragment是Activity的一个重要组成部分,它允许我们构建模块化、可重用的用户界面。Fragment生命周期的理解和熟练掌握对于任何Android开发者来说都至关重要。"Android Fragment Lifecycle"这一...

    简单的fragment

    在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在单个Activity中创建多个可重用的UI块。Fragment的设计理念是为了提高应用程序的灵活性和模块化,尤其是在大屏幕设备如平板电脑上,可以更...

    Fragment的生命周期

    例如,当另一个Fragment覆盖了当前Fragment,或者用户按下Home键。 8. **onStop()**:Fragment完全不可见时调用,如被其他Fragment替换或者Activity被停止。在此之后,用户无法感知到该Fragment。 9. **...

    Android从后台恢复界面需要输入密码demo

    - **Home键监听**:Android系统默认不提供直接监听Home键的API,但可以通过注册BroadcastReceiver并监听`ACTION_CLOSE_SYSTEM_DIALOGS`广播来间接实现。当用户按下Home键时,系统会发送这个广播。 - **锁屏监听**...

    2.8 自定义BACK按键

    尽管Fragment没有直接的`onBackPressed()`方法,但可以通过监听`onOptionsItemSelected()`中的`android.R.id.home`来模拟BACK键行为: ```java @Override public boolean onOptionsItemSelected(MenuItem item) { ...

    应用源码之按键的处理.zip

    在Android开发中,理解和处理按键事件是至关重要的技能,尤其对于进行毕业设计或者代码学习的开发者来说。"应用源码之按键的处理.zip"这个压缩包文件很可能包含了关于Android系统中如何捕获和响应按键输入的示例代码...

    Android Fragment的用法实例详解

    在Android应用开发中,Fragment是Android 3.0版本引入的一个关键组件,它极大地提升了大屏幕设备(如平板电脑)的UI设计灵活性。Fragment的主要作用是将一个大型的Activity拆分成多个可重用的部分,每个部分称为...

    一个Activity中多个Fragment的切换

    在Android应用开发中,经常需要在一个Activity中同时展示多个Fragment,以便实现丰富的用户界面和交互。当需要在这些Fragment之间进行切换时,一种常见的做法是通过接口通信来实现。以下是一个详细步骤,介绍如何在...

    Android UI控件BottomView_Demo

    8. **状态保存与恢复**:在Android中,当应用被系统杀死或用户按下Home键后,需要能够正确保存和恢复BottomView的状态,以确保用户返回时界面仍能保持离开时的状态。 在"BottomView"压缩包中,可能包含了一个简单的...

    Android悬浮球及全局返回功能的实现示例

    在Android开发中,有时我们需要为用户提供额外的便捷操作,例如全局的返回和home键功能。本篇将详细介绍如何实现一个悬浮球以及利用`AccessibilityService`来实现全局返回功能。 首先,悬浮球通常用于提供快速访问...

    19151633_应宇杰_Android期末文档1

    在Android开发中,Activity是应用程序的基本单元,它的生命周期管理至关重要。Activity有七种状态,分别是:创建(onCreate)、启动(onStart)、运行(onResume)、暂停(onPause)、停止(onStop)、重新启动...

    Android 用户界面之重写onKeyDown方法源码.zip

    在Android应用开发中,用户界面(UI)的设计与交互是至关重要的部分。为了提供丰富的用户体验,开发者有时需要自定义按键事件处理。在这个场景下,我们关注的是如何在Android中重写`onKeyDown`方法,以实现自定义的...

    Android开发面试题(含答案)

    Fragment是Android应用中的可重用UI片段,可以嵌入在Activity中。 **2.2 为什么要用Fragment** - 支持多种屏幕尺寸。 - 方便复用UI组件。 - 便于维护和测试。 **2.3 Fragment与Activity的通信方式** - 通过监听...

Global site tag (gtag.js) - Google Analytics