`

Dialog 处理KeyEvent

 
阅读更多
一直没注意Dialog也可以自己处理KeyEvent.今天遇到了这样的问题,我才知道。问题是这样的:在Activity中显示一个Dialog,若按back key就会把这个Dialog dismiss掉,若你想在按back key dismiss dialog的同时处理些事情,一开始我以为在Activity的onKeyDown事件里面处理,可我发现怎么按了back key,dialog关掉了,但并没有触发Activity的onKeyDown事件,后来问了朋友,才知道。back key事件已经被Dialog消费掉了,不会dispatch派给Activity.所以你必须在Dialog中的keyEvent处理,我就找了找Dialog的关于KeyEvent的接口,终于找到了:setOnKeyListener

mProgressDialog.setOnKeyListener(new OnKeyListener(){

//			@Override
			public boolean onKey(DialogInterface arg0, int arg1, KeyEvent arg2) {
				// TODO Auto-generated method stub
				System.out.println("mProgressDialog happen key ");
				if ((arg1 == KeyEvent.KEYCODE_BACK)){
					System.out.println("mProgressDialog key back ");
					need_Break=true;
				}
				return false;
			}
			
		});
分享到:
评论

相关推荐

    Android dialog的显示位置、弹出效果、返回键控制、外部点击事件控制功能点集合

    本篇文章将详细探讨如何实现Android Dialog的显示位置控制、弹出效果定制、返回键处理以及外部点击事件的管理。 首先,让我们关注Dialog的显示位置。在Android中,Dialog通常会居中显示,但有时我们可能需要自定义...

    Dialog样式的Activity-可以在任何地方弹出的Dialog

    总结来说,`Dialog`样式的`Activity`是通过设置特定主题、创建简洁布局、处理交互事件以及适当动画来实现的。它在Android应用中常用于提供轻量级的交互,让用户在不离开当前任务的情况下完成特定操作。正确地设计和...

    7种形式的Android Dialog使用实例

    在Android开发中,Dialog是一种常用的组件,用于在用户界面中显示临时性的信息或者进行交互操作。本文将详细介绍7种常见的Android Dialog使用实例,帮助开发者...同时,注意处理Dialog的生命周期,避免内存泄漏等问题。

    Android对话框(Dialog)大全建立你自己的对话框..pdf

    在Android开发中,对话框(Dialog)是一种常见的用户界面元素,用于提供额外的信息或与用户进行交互。...同时,还可以结合事件监听器(如`OnClickListener`)来处理用户的选择,从而实现丰富的交互逻辑。

    Android对话框dialog大全(代码直接可用).pdf

    创建这种对话框,你需要在Builder中添加更多的组件,例如EditText、Spinner等,并处理相应的用户输入。 **图3**:进度对话框,用于表示后台任务的进度。可以使用ProgressDialog或自定义的DialogFragment实现。 **...

    Android中对话框(Dialog)大全.pdf

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时的通知或确认信息,以及在不中断主线程的情况下执行任务。本文将深入探讨Android中的对话框及其使用方法。 首先,对话框通常...

    Android 对话框(Dialog)大全 建立你自己的对话框.pdf

    // 在 onKeyDown(int keyCode, KeyEvent event)方法中调用 dialog() public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { dialog...

    Android解决dialog弹出时无法捕捉Activity的back事件的方法

    在Android开发中,有时我们需要监听用户的Back键操作,以便在特定场景下执行特定的业务逻辑。...通过上述方法,你可以灵活地处理Dialog与Activity间的Back键事件交互,从而提升应用的功能性和用户满意度。

    Android 对话框(Dialog)大全 建立你自己的对话框.docx

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,提供临时的通知或确认信息。本文将详细介绍如何在Android中创建和管理自定义对话框,并讲解相关的关键知识点。 首先,对话框主要分为...

    Android 解决dialog弹出时无法捕捉Activity的back事件问题

    总之,处理Dialog弹出时的Back事件是Android开发中的常见问题,理解各种事件处理方法以及Dialog的生命周期是解决此类问题的关键。希望这个解答能帮助你理解和解决相关问题,如果你有更多疑问或需要更深入的探讨,...

    Android弹出dialog后无法捕捉back键的解决方法

    当一个Dialog被显示时,它会获取到当前Activity的焦点,这意味着系统会将输入事件(如按键事件)优先传递给Dialog处理。因此,当用户按下Back键时,由于Dialog没有响应这个事件,导致用户无法正常关闭Dialog并返回到...

    属于自己的Android对话框(Dialog)自定义集合

    在监听器的onClick方法中,处理用户的操作,例如关闭对话框或执行其他业务逻辑。 4. **展示对话框**:调用Builder的create()方法创建Dialog对象,然后调用show()方法将其显示在屏幕上。 以下是一个简单的自定义...

    模拟发送键值响应音量加减

    总之,这个项目结合了Android编程中的用户界面设计(悬浮dialog)、系统服务交互(InputManager)和事件处理等技术,旨在提供一个快速调整音量的解决方案。对于开发者来说,这是一个很好的实践案例,展示了如何通过...

    Android:week 7总结 Dialog、单选对话框

    import android.view.KeyEvent;   package com.example.dialog; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.app.AlertDialog; import android.con

    弹出一个带确认和取消的dialog实例

    在Android开发中,对话框(Dialog)是一种常用的用户交互组件,它可以在主界面之上显示一些额外的信息或功能,如提示、确认操作等。本篇将详细介绍如何创建一个带有确认和取消选项的对话框实例。 首先,我们需要...

    QT事件过滤器

    在QT框架中,事件过滤器(Event Filter)是处理和管理事件流的关键机制之一。本文将深入探讨QT事件过滤器的工作原理、应用场合以及如何实现自定义事件过滤器,帮助读者更好地理解和运用这一功能。 #### 事件过滤器...

    Android 对话框(Dialog)大全详解及示例代码

    在Android开发中,对话框(Dialog)是一种非常重要的组件,用于与用户进行交互,展示临时的通知或获取用户的输入...在实际开发中,应根据应用场景选择合适的对话框类型,并合理处理其生命周期,以提供良好的用户体验。

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

    通过学习这个源码,你可以了解到实际开发中如何结合`KeyEvent`的属性进行条件判断,以及如何编写对应的处理逻辑。 例如,下面的代码展示了如何在`onKeyDown`中处理回退键: ```java @Override public boolean ...

Global site tag (gtag.js) - Google Analytics