转载自: http://blog.csdn.net/xue_wei_love/article/details/6881978
现有一个activity,并且有dialog弹出(如图)。
当在dialog存在的时候,点击手机back键,先退出的是此dialog,当再次点击手机返回键的时候,才能退出此activity。
那么如何写代码实现只点击一次手机back键时,退出当前activity?
实现:
private AlertDialog mDialog;
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle(R.string.title_alert_text);
builder.setMessage(R.string.net_alert_text);
builder.setPositiveButton(R.string.setting,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
}
});
builder.setNegativeButton(R.string.cancanl,
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
Loading.this.finish();
}
});
builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
Loading.this.finish();
}
});
mDialog = builder.create();
mDialog.show();
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0){
mDialog.dismiss();
Loading.this.finish();
}
return super.onKeyDown(keyCode, event);
分享到:
相关推荐
主要介绍了Android解决dialog弹出时无法捕捉Activity的back事件的方法,涉及Android操作Activity事件的相关技巧,需要的朋友可以参考下
Android 如何解决dialog弹出时无法捕捉Activity的back事件 ... 然而在有dialog弹出时,想捕捉back键的事件的话,上述三种办法都无法实现。因为上述方法是重写在activity里面的,也就是说当activity是当前
在Android开发过程中,弹出dialog后无法捕捉back键,点击back按键无响应。 二、解决方案 原因:弹出dialog后,activity失去焦点,dialog获得当前焦点。 解决办法:在dialog中可以通过调用setOnKeyListener()方法来为...
主要为大家详细介绍了Android使用Dialog风格弹出框的Activity,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
特性1、可以快速开发出各种嵌套设计的Fragment App2、悬浮球/摇一摇实时查看Fragment的栈视图Dialog,降低开发难度3、增加启动模式、startForResult等类似Activity方法4、类似Android事件分发机制的Fragment回退...
Dialog是任何系统都必须有的一个控件,作为辅助窗口,用于显示一些消息,或请求用户采取一引起操作等。在Android中也不例外,基本使用可能参看文档。使用时的注意事项1. BACK键能取消掉对话框(dismiss),但是却不会...
按键事件和返回键有关的常量和方法有。 KeyEvent.KEYCODE_BACK: 表示key类型为返回键 KeyEvent.ACTION_DOWN:表示事件为按下key,如果一直按住不放,则会不停产生此事件。 KeyEvent.ACTION_UP:表示事件为为...
* 这个类主要包括五个点击事件,分别为 * 1,ListView的长按点击事件,用来AlertDialog来判断是否删除数据。 * 2,ListView的点击事件,跳转到第二个界面,用来修改数据 * 4,menu里的退出事件,用来退出程序 *...
有时候我们需要在游戏或应用中用一些符合我们样式的提示框(AlertDialog),以下是我在开发一个小游戏中总结出来的.希望对大家有用. 先上效果图: 下面是用到的背景图或按钮的图片 经过查找资料和参考了一下例子后才...
Way Back When 11 “The Brick” 13 Wireless Application Protocol (WAP) 15 Proprietary Mobile Platforms 17 The Open Handset Alliance 18 Google Goes Wireless 18 Forming the Open Handset Alliance 19 ...
back = (Button) findViewById(R.id.btn_back); back.setOnClickListener(this); ok = (Button) findViewById(R.id.btn_ok); ok.setOnClickListener(this); titleView = (LinearLayout) findViewById(R.id....
sdk LCS/Telegraphics Wintab* Interface Specification 1.1: 16- and 32-bit API Reference By Rick Poyner Revised February 11, 2012 This specification was developed in response to a perceived need for a...
0 for CAMERA_FACING_BACK ;------------------------------------------------------------------------------- camera_facing = 0 ;------------------------------------------------------------------------...
调通sina33下的AP6212A0(WIFI+BT) 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 ...完成时间:2017/6/26 11:01 版本:V1.1 本文参照: 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android...
调通sina33下的AP6212A0版本的BT 大文实验室/大文哥 壹捌陆捌零陆捌捌陆捌贰 ...完成时间:2017/6/26 11:01 版本:V1.0 本文参照: 《A33 wifi移植说明书.pdf》 还有就是全志R16的parrotv1.1的官方SDK(Android...
Diskeeper records information about its activity in two ways. First, general information about previously-run defragmentation job is shown in the Log tab within the Diskeeper console. Additional ...