下面的代码定义了一个带有2个按钮的AlertDialog。单击任一按钮会调用正确的onClick
方法。实际上,每个方法只有一个Log语句,但单击其中任何一个都会导致对话框被解除。为什么呢?
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setPositiveButton("Dismiss",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d("MyFragment", "Positive button");
}
}).setIcon(android.R.drawable.ic_dialog_info);
builder.setNeutralButton("Send Email",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Log.d("MyFragment", "Neutral button");
}
}).setIcon(android.R.drawable.ic_dialog_info);
builder.setMessage("Some message");
builder.setCancelable(false);
Dialog dialog = builder.create();
dialog.setTitle("Details");
dialog.setCancelable(false);
dialog.show();
答案 0 :(得分:1)
尝试添加此.table-menu
{
display: none;
}
tr:hover td .table-menu, tr:hover th .table-menu
{
display: inline;
float: right;
}
.table-menu-active
{
display: inline;
float: right;
}
。
编辑:嗯,这不起作用,显然this就行了。 ;)
答案 1 :(得分:1)
该对话框被取消,因为这是它的默认行为。如果你希望它保留,你可以覆盖onShowListener并在那里设置相应的按钮点击监听器。
final AlertDialog dialog = builder.create();
dialog.setOnShowListener(new DialogInterface.OnShowListener() {
@Override
public void onShow(DialogInterface d) {
dialog.getButton(DialogInterface.BUTTON_POSITIVE).setOnClickListener(...);
}
});