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;
}
我的主程序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;
}
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount()==0)
希望可以帮到你噢 。
if(keyCode == KeyEvent.KEYCODE_BACK){
//处理对应的代码
}
}
大体意思,建议你多看下关于利用状态机制控制执行代码。
if (keyCode == KeyEvent.KEYCODE_BACK
&& event.getRepeatCount() == 0
&& this.getClass().equals(test.class))
{ // do sth codes here}就可以了,谢谢提醒。