在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而不退出整个Activity。本篇文章将详细讲解如何在Fragment中实现返回键监听。 首先,我们需要...
此外,如果希望在其他地方处理返回事件,例如在Fragment中,可以使用`onOptionsItemSelected()`方法监听`OptionsItemSelectedEvent`,并检查`MenuItem`的`itemId`是否为`android.R.id.home`,这代表了应用栏中的返回...
在Android应用开发中,Fragment是Activity的一个模块化组件,它可以在Activity中添加、移除或替换,用于构建灵活且复杂的用户界面。"点击退出返回上一个Fragment"这一主题涉及到Fragment的回退栈管理和用户交互。...
在Android系统中,监听Home键事件并非像监听其他硬件按键那样简单,因为Home键被设计为用户快速返回主屏幕的快捷方式,系统默认不会允许开发者对其进行完全的拦截和控制。然而,通过一些特殊的方式,我们可以实现对...
4. **监听按键事件**:为了监听返回键和菜单键,需要在Activity或Fragment中覆写`onKeyDown()`和`onOptionsItemSelected()`方法。对于返回键,你可以检查按下的是KEYCODE_BACK,并显示自定义对话框;对于菜单键,当...
在Android开发中,`Fragment`是一种可以嵌入到`Activity`中的用户界面片段,它可以被重用在多个活动中,并且能够独立管理自己的生命周期。理解`Fragment`的生命周期对于构建响应迅速、高效的应用程序至关重要。本文...
back stack维护了Activity或Fragment的历史记录,使得用户可以通过按返回键回溯之前的界面。 总之,Activity和Fragment是Android开发中的核心组件,理解它们的生命周期对于编写高效、稳定的应用至关重要。开发者...
在Android应用开发中,Fragment是Activity的一个重要组成部分,它允许我们构建模块化、可重用的用户界面。Fragment生命周期的理解和熟练掌握对于任何Android开发者来说都至关重要。"Android Fragment Lifecycle"这一...
在Android应用开发中,Fragment是Android SDK提供的一种组件,它允许开发者在单个Activity中创建多个可重用的UI块。Fragment的设计理念是为了提高应用程序的灵活性和模块化,尤其是在大屏幕设备如平板电脑上,可以更...
例如,当另一个Fragment覆盖了当前Fragment,或者用户按下Home键。 8. **onStop()**:Fragment完全不可见时调用,如被其他Fragment替换或者Activity被停止。在此之后,用户无法感知到该Fragment。 9. **...
- **Home键监听**:Android系统默认不提供直接监听Home键的API,但可以通过注册BroadcastReceiver并监听`ACTION_CLOSE_SYSTEM_DIALOGS`广播来间接实现。当用户按下Home键时,系统会发送这个广播。 - **锁屏监听**...
尽管Fragment没有直接的`onBackPressed()`方法,但可以通过监听`onOptionsItemSelected()`中的`android.R.id.home`来模拟BACK键行为: ```java @Override public boolean onOptionsItemSelected(MenuItem item) { ...
在Android开发中,理解和处理按键事件是至关重要的技能,尤其对于进行毕业设计或者代码学习的开发者来说。"应用源码之按键的处理.zip"这个压缩包文件很可能包含了关于Android系统中如何捕获和响应按键输入的示例代码...
在Android应用开发中,Fragment是Android 3.0版本引入的一个关键组件,它极大地提升了大屏幕设备(如平板电脑)的UI设计灵活性。Fragment的主要作用是将一个大型的Activity拆分成多个可重用的部分,每个部分称为...
在Android应用开发中,经常需要在一个Activity中同时展示多个Fragment,以便实现丰富的用户界面和交互。当需要在这些Fragment之间进行切换时,一种常见的做法是通过接口通信来实现。以下是一个详细步骤,介绍如何在...
8. **状态保存与恢复**:在Android中,当应用被系统杀死或用户按下Home键后,需要能够正确保存和恢复BottomView的状态,以确保用户返回时界面仍能保持离开时的状态。 在"BottomView"压缩包中,可能包含了一个简单的...
在Android开发中,有时我们需要为用户提供额外的便捷操作,例如全局的返回和home键功能。本篇将详细介绍如何实现一个悬浮球以及利用`AccessibilityService`来实现全局返回功能。 首先,悬浮球通常用于提供快速访问...
在Android开发中,Activity是应用程序的基本单元,它的生命周期管理至关重要。Activity有七种状态,分别是:创建(onCreate)、启动(onStart)、运行(onResume)、暂停(onPause)、停止(onStop)、重新启动...
在Android应用开发中,用户界面(UI)的设计与交互是至关重要的部分。为了提供丰富的用户体验,开发者有时需要自定义按键事件处理。在这个场景下,我们关注的是如何在Android中重写`onKeyDown`方法,以实现自定义的...
Fragment是Android应用中的可重用UI片段,可以嵌入在Activity中。 **2.2 为什么要用Fragment** - 支持多种屏幕尺寸。 - 方便复用UI组件。 - 便于维护和测试。 **2.3 Fragment与Activity的通信方式** - 通过监听...