1、如果只想阻止“返回键”关闭Dialog最简单的setCancelable(false)

2、最简单的方法重载Activity的OnKeyDown()方法,捕捉想要屏蔽的按键:

public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if(keyCode==KeyEvent.KEYCODE_BACK&&event.getRepeatCount()==0){

return true;

}

if (keyCode == KeyEvent.KEYCODE_SEARCH)
{
return true;
}
return super.onKeyDown(keyCode, event);
}

这方法可用,但是有缺点(你们懂得)。

3、只给相应的Dialog监听setOnKeyListener():

alertDialog.setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_SEARCH)
{
return true;
}
else
{
return false; //默认返回 false
}
}
});

这方法改进了上一个方法的缺点,原理与上边方法一样。

原文地址:http://hi.baidu.com/hpyfei/item/506cfdcdfa6c7127a1b50a68

更多相关文章

  1. Android(安卓)消息机制学习
  2. Android(安卓)LayoutInflater.inflate()方法的参数用途
  3. ListView/GridView 按住拖动黑线框/桌面背景透上来【已解决】
  4. Android(安卓)Activity 二
  5. startActivity调用流程及生命周期
  6. android下图片处理方法[转]
  7. 【Android】NDK中log输出方法
  8. 【Android(安卓)开发教程】显示普通对话框
  9. Android(安卓)Studio 使用svn/git添加ignore忽略文件方法

随机推荐

  1. Android(安卓)Gradle plugin 升级2.3.2 m
  2. android 锁屏解锁逻辑分析
  3. Activity has leaked window com.android
  4. Android点击事件分发机制源码分析1——Ac
  5. [Android(安卓)Traffic] 调整定时更新的
  6. android UI入门二 定义图片横竖屏切换正
  7. Android短信数据库表结构介绍
  8. Android(安卓)——真机调试
  9. android RecyclerView 中添加 FooterView
  10. adb通过wifi连接 milestone