我想显示一个对话框 / 弹出窗口,其中显示一条消息,显示 “您确定要删除此条目吗?” 用一个按钮说 “删除”。当Delete
被触摸时,应该删除该条目,否则什么都没有。
我为这些按钮编写了一个单击侦听器,但是如何调用对话框或弹出窗口及其功能?
您可以为此使用AlertDialog
并使用其Builder
类构造一个。下面的示例使用仅接受Context
的默认构造函数,因为对话框将从您传入的 Context 继承正确的主题,但是还有一个构造函数,允许您指定特定的主题资源作为第二个参数,如果您希望这样做。
new AlertDialog.Builder(context)
.setTitle("Delete entry")
.setMessage("Are you sure you want to delete this entry?")
// Specifying a listener allows you to take an action before dismissing the dialog.
// The dialog is automatically dismissed when a dialog button is clicked.
.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
// Continue with delete operation
}
})
// A null listener allows the button to dismiss the dialog and take no further action.
.setNegativeButton(android.R.string.no, null)
.setIcon(android.R.drawable.ic_dialog_alert)
.show();
试试这段代码:
AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
builder1.setMessage("Write your message here.");
builder1.setCancelable(true);
builder1.setPositiveButton(
"Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder1.setNegativeButton(
"No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
David Hedlund 发布的代码给了我错误:
无法添加窗口 - 令牌 null 无效
如果您收到相同的错误,请使用以下代码。有用!!
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!isFinishing()){
new AlertDialog.Builder(YourActivity.this)
.setTitle("Your Alert")
.setMessage("Your Message")
.setCancelable(false)
.setPositiveButton("ok", new OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// Whatever...
}
}).show();
}
}
});