Hi 各位大侠,
  我的主程序A中加入了退出提示的代码,如下。   但是 我主程序中A中有调用对话框B,和调用其他ACTIVITY的实例C。
但当我在B或C状态下时,按返回键,可是B或C却也弹出了退出提示。我想不让他们B或C,只在A中按返回键时才有退出提示,
代码该怎么实现啊?谢谢哈。
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) { 
     if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0)
     {
     new AlertDialog.Builder(ITester.this)
     .setTitle("退出")
     .setMessage("您确认要退出吗?")
     .setPositiveButton("确认", new DialogInterface.OnClickListener(){     @Override
     public void onClick(DialogInterface dialog, int whichButton)
     {
     finish();
     }
     })
     .setNegativeButton("取消", new DialogInterface.OnClickListener(){     @Override
     public void onClick(DialogInterface dialog, int whichButton)
     {
     dialog.dismiss();
     }
     })
     .show();
     }
     return false;
    }

解决方案 »

  1.   

    KeyEvent 判断一下是不是A,是A就执行撒
      

  2.   

    楼主 先判断当前activity是不是在你须要弹出退出框的界面中  然后在判断 是否按下返回键
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0)
    希望可以帮到你噢 。
      

  3.   

    if(this.equals(A.getApplication)){
       if(keyCode == KeyEvent.KEYCODE_BACK){
          //处理对应的代码
        }
    }
    大体意思,建议你多看下关于利用状态机制控制执行代码。
      

  4.   

    我试过了。我用
         if (keyCode == KeyEvent.KEYCODE_BACK 
         && event.getRepeatCount() == 0
         && this.getClass().equals(test.class))
            {   // do sth codes here}就可以了,谢谢提醒。