kir*_*ran 91 android dialog button back
我正在开发一个应用程序,当按下按钮时,它会打开一个带有确定和取消按钮的对话框.
它工作正常.
当用户按下后退按钮时,我按如下方式处理
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if ((keyCode == KeyEvent.KEYCODE_BACK))
{
}
return super.onKeyDown(keyCode, event);
}
Run Code Online (Sandbox Code Playgroud)
但是没有调用上面的方法.我怎么处理这个?
Yas*_*ien 229
dialog.setOnKeyListener(new Dialog.OnKeyListener() {
@Override
public boolean onKey(DialogInterface arg0, int keyCode,
KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK) {
finish();
dialog.dismiss();
}
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
小智 113
听起来好像你想在创建Dialog时设置OnCancelListener.它看起来像这样:
dialog.setOnCancelListener(new DialogInterface.OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
//do whatever you want the back key to do
}
});
Run Code Online (Sandbox Code Playgroud)
Nev*_*uit 19
你需要覆盖OnCancel方法.此方法调用Back Key按下.这里的代码对我来说很完美.
AlertDialog alertDialog;
alertDialog.setOnCancelListener(new OnCancelListener()
{
@Override
public void onCancel(DialogInterface dialog)
{
// TODO Auto-generated method stub
dialog.dismiss();
}
});
Run Code Online (Sandbox Code Playgroud)
希望这会对你有所帮助,如果对你有帮助就接受它.
谢谢..
试试这个
new AlertDialog.Builder(this).setOnKeyListener(new DialogInterface.OnKeyListener() {
@Override
public boolean onKey(DialogInterface dialog, int keyCode, KeyEvent event) {
if(keyCode == KeyEvent.KEYCODE_BACK){
Logger.d(TAG, "--------- Do Something -----------");
return true;
}
return false;
}
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91542 次 |
| 最近记录: |