Android Dialog, keep dialog open when button is pressed(Android Dialog,按下按钮时保持对话框打开)
问题描述
我想在按下按钮时保持对话框打开.目前它正在关闭.
I would like to keep my dialog open when I press a button. At the moment it's closing.
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure you want to exit?")
.setCancelable(false)
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
MyActivity.this.finish();
}
})
.setNegativeButton("No", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert = builder.create();
推荐答案
是的,你可以.你基本上需要:
Yes, you can. You basically need to:
- 使用 DialogBuilder 创建对话框
- show() 对话框
- 在显示的对话框中找到按钮并覆盖它们的
onClickListener
所以,创建一个监听器类:
So, create a listener class:
class CustomListener implements View.OnClickListener {
private final Dialog dialog;
public CustomListener(Dialog dialog) {
this.dialog = dialog;
}
@Override
public void onClick(View v) {
// Do whatever you want here
// If you want to close the dialog, uncomment the line below
//dialog.dismiss();
}
}
然后在显示对话框时使用:
Then when showing the dialog use:
AlertDialog dialog = dialogBuilder.create();
dialog.show();
Button theButton = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
theButton.setOnClickListener(new CustomListener(dialog));
请记住,您需要显示对话框,否则将无法找到该按钮.此外,请务必将 DialogInterface.BUTTON_POSITIVE 更改为您用于添加按钮的任何值.另请注意,在 DialogBuilder 中添加按钮时,您需要提供 onClickListeners - 但是,您不能在其中添加自定义侦听器 - 如果您在调用 show() 后不要覆盖监听器.
Remember, you need to show the dialog otherwise the button will not be findable. Also, be sure to change DialogInterface.BUTTON_POSITIVE to whatever value you used to add the button. Also note that when adding the buttons in the DialogBuilder you will need to provide onClickListeners - you can not add the custom listener in there, though - the dialog will still dismiss if you do not override the listeners after show() is called.
这篇关于Android Dialog,按下按钮时保持对话框打开的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Android Dialog,按下按钮时保持对话框打开
基础教程推荐
- iOS4 创建后台定时器 2022-01-01
- Cocos2d iPhone 非矩形精灵触摸检测 2022-01-01
- Android:getLastKnownLocation(LocationManager.NETWORK_PROVIDER 2022-01-01
- 如何从 logcat 中删除旧数据? 2022-01-01
- navigator.geolocation.getCurrentPosition 在 Android 浏览器上 2022-01-01
- 通过重定向链接在 Google Play 中打开应用 2022-01-01
- iPhone - 获取给定地点/时区的当前日期和时间并将其与同一地点的另一个日期/时间进行比较的正确方法 2022-01-01
- libGDX 从精灵或纹理中获取像素颜色 2022-01-01
- AdMob 广告未在模拟器中显示 2022-01-01
- NSString intValue 不能用于检索电话号码 2022-01-01
