我已经显示了一个带有2个按钮的AlertDialog,即Yes和Cancel,以下是代码。
final AlertDialog.Builder builder = new AlertDialog.Builder(RiderDetailActivity.this);
builder.setCancelable(false);
builder.setMessage("Are you sure?");
final AlertDialog dialog = builder.create();
builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
dialog.show();
这在三星 Galaxy S4 上仅显示“是”和“取消”按钮。
但当我使用 dialog.setButton
时,它可以完美地工作。
dialog.setButton(DialogInterface.BUTTON_POSITIVE, "Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
dialog.setButton(DialogInterface.BUTTON_NEGATIVE, "Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
dialog.dismiss();
}
});
注意: builder.setPositiveButton
和builder.setNegativeButton
在三星Galaxy S4上出现问题,而其他设备则可以正常工作。
更新
我需要在设置按钮后创建对话框,但我的问题是为什么其他设备可以工作,而三星Galaxy S4却出现问题?
dialog.show();
上面添加以下代码:final AlertDialog dialog = builder.create();
然后查看结果。 - Manoharfinal AlertDialog dialog = builder.create();
移动到添加按钮之后。 - Vladyslav Matviienko