
[英]Android Toast doesn't appear when I click on items listed in the Alert Dialog
[英]Alert dialog doesn't appear in Android
尝试为待办事项应用设置完成列表。 我试图在单击按钮时显示一个对话框,之后该对话框没有出现。
showdone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder builder = new AlertDialog.Builder(todo.this);
builder.setAdapter(itemdone, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String strDone = itemdone.getItem(which);
AlertDialog.Builder builderInner = new AlertDialog.Builder(todo.this);
builderInner.setTitle("Done List");
builderInner.setMessage(strDone);
builderInner.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderInner.create().show();
}
});
builder.show();
}
});
您想在对话框上调用 show,而不是在构建器上。 也从builder
重命名为showDoneBuilder
以区别于内部 builder。 拉出内部构建以提高可读性。
showdone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
AlertDialog.Builder showDoneBuilder = new AlertDialog.Builder(todo.this);
showDoneBuilder.setAdapter(itemdone, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
String strDone = itemdone.getItem(which);
showDoneListDialog(strDone);
}
});
showDoneBuilder.create().show(); // THE FIX
}
}
private void showDoneListDialog(String message) {
AlertDialog.Builder builderInner = new AlertDialog.Builder(todo.this);
builderInner.setTitle("Done List");
builderInner.setMessage(message);
builderInner.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
builderInner.create().show();
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.