Activity继承ActivityGroup后点击onKeyDown(int keyCode, KeyEvent event)方法没反应的解决方法
最近在搞一个小项目,在程序的主界面要有个退出提示,可是重写onKeyDown(int keyCode, KeyEvent event)方法后,怎么点也没有反应,使用SDK2.0以后新增了一个专门针对返回键的方法onBackPressed(),还是不起作用,然后上网查看才知道原来我的Activity已继承ActivityGroup,这些方法已经失效,还好发现另一个方法很管用,就是dispatchKeyEvent(KeyEvent event)。
@Override
 public boolean dispatchKeyEvent(KeyEvent event) {
 // TODO Auto-generated method stub
 if(event.getKeyCode() == KeyEvent.KEYCODE_BACK){ 
 if (event.getAction() == KeyEvent.ACTION_DOWN && event.getRepeatCount() == 0) { 
 AlertDialog dlg = new AlertDialog.Builder(MainActivity.this)
 .setIcon(R.drawable.tuichu)
 .setTitle("XXX")
 .setMessage("确定要退出XX吗?")
 .setPositiveButton("确定",
 new DialogInterface.OnClickListener() {
@Override
 public void onClick(DialogInterface arg0,
 int arg1) {
 // TODO Auto-generated method stub
finish();
}
 })
 .setNegativeButton("取消",
 new DialogInterface.OnClickListener() {
@Override
 public void onClick(DialogInterface dialog,
 int arg1) {
 // TODO Auto-generated method stub
 dialog.dismiss();
 }
 }).create();
 dlg.show(); 
 } 
 return true; 
 } 
 return super.dispatchKeyEvent(event); 
 
 }
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号