警报对话框未出现在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();
            }
        });
owenlixuan 回答:警报对话框未出现在Android中

您要在对话框上而不是在构建器上调用show。也从builder重命名为showDoneBuilder,以与内部构建器区分开。拉出内部版本以提高可读性。

 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();
} 
本文链接:https://www.f2er.com/3167590.html

大家都在问