问一个有关dialog的问题

endless 2010-09-15 03:36:42
在开发过程中,我遇到了一个问题:

当我按下手机上的的"back"键时, 我想弹出一个对话框提示用户是否保存一些东西,然后在关闭这个activity.
我现在是重载了activity中的onPause函数, 代码如下:

protected void onPause() {

Dialog dialog = new AlertDialog.Builder(NoteImageActivity.this)
.setIcon(R.drawable.alert_dialog_icon)
.setTitle(R.string.alert_dialog_two_buttons_title)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {

/* User clicked Cancel so do some stuff */
}
})
.create();
dialog.show();

super.onPause();
}
当我按下“back”键时, 对话框闪了一下就不见了。 这个原因是由于创建的对话框是一个非阻塞的对话框。
有谁遇到过这个问题,能告诉我如何解决,多谢了!
...全文
121 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
凉凉二点凉 2010-09-15
  • 打赏
  • 举报
回复
不好意思 、理解错了
凉凉二点凉 2010-09-15
  • 打赏
  • 举报
回复
重写

public void onBackPressed() {
do something here }
ccll_4177 2010-09-15
  • 打赏
  • 举报
回复
在函数 public boolean onKeyDown(int keyCode, KeyEvent event)里的

KeyEvent.KEYCODE_BACK

中调用Dialog,写事件处理
DeamonTX 2010-09-15
  • 打赏
  • 举报
回复
嗯,应该是捕获back按钮事件,在收到时,然出对话框,而不是让系统区处理
在OnPause去执行已经晚了。
牛叔 2010-09-15
  • 打赏
  • 举报
回复
这个应该捕捉back键盘事件吧,我也没接触过。
onpause应该不行
总不可能来了个电话,先弹出个对话框用户选择了之后才能有来电显示?
来电应该是先onpause()再onstop()

80,490

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧