警报对话框方法在按钮单击时调用,但不能显示对话框



我在警报对话框中遇到问题。

当我单击行中的按钮时,方法调用进入方法内部,但不显示警报框。

这是我的代码。

 final AlertDialog.Builder builder = new AlertDialog.Builder(this.activity,R.style.MyAlertDialogStyle);
    ImageView img_user_delete=(ImageView)convertView.findViewById(R.id.img_user_delete);
    img_user_delete.setTag(position);
    img_user_delete.setOnClickListener(new ImageView.OnClickListener() {
        @Override
        public void onClick(View v) {
            //do something
            name1_u = name_user.get(position);
            Log.e("Row_list_user", "name : " + name1_u);
            final int position = (Integer) v.getTag();
            Integer position1 = position + 1;
            builder.setMessage("Are you sure you want to delete?")
                    .setIcon(R.drawable.ic_action_warning)
                    .setTitle("Warning")
                    .setCancelable(false)
                    .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            db.deleteUserRow(name1_u);
                            name_user.remove(position);
                            notifyDataSetChanged();
                        }
                    })
                    .setNegativeButton("No", new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();
                        }
                    });
        }
    });

此代码在一个类中工作正常,但在另一个类中不起作用。请帮忙。

您必须调用create()方法来创建一个AlertDialog,其中包含提供给builder的参数,并show()方法来显示AlertDialog。请参阅下面的代码:

final AlertDialog.Builder builder = new AlertDialog.Builder(this.activity, R.style.MyAlertDialogStyle);
        ImageView img_user_delete = (ImageView) convertView.findViewById(R.id.img_user_delete);
        img_user_delete.setTag(position);
        img_user_delete.setOnClickListener(new ImageView.OnClickListener() {
            @Override
            public void onClick(View v) {
                //do something
                name1_u = name_user.get(position);
                Log.e("Row_list_user", "name : " + name1_u);
                final int position = (Integer) v.getTag();
                Integer position1 = position + 1;
                builder.setMessage("Are you sure you want to delete?")
                        .setIcon(R.drawable.ic_action_warning)
                        .setTitle("Warning")
                        .setCancelable(false)
                        .setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                db.deleteUserRow(name1_u);
                                name_user.remove(position);
                                notifyDataSetChanged();
                            }
                        })
                        .setNegativeButton("No", new DialogInterface.OnClickListener() {
                            public void onClick(DialogInterface dialog, int id) {
                                dialog.cancel();
                            }
                        }).create().show();
            }
        });

最新更新