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

时间:2016-02-05 12:22:32

标签: android alertdialog android-alertdialog

我遇到了警告对话框的问题。

当我点击行中的按钮时,方法调用进入方法,但警报框不会出现。

这是我的代码。

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
 <stroke
android:width="1dp"
android:color="@android:color/holo_red_dark" />
<solid android:color="@android:color/holo_red_light" />
<padding
android:left="1dp"
android:right="1dp"
android:top="1dp" />
<corners android:radius="20dp" />
</shape>

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

1 个答案:

答案 0 :(得分:0)

您必须调用create()方法创建AlertDialog,并使用提供给buildershow()方法的参数来显示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();
            }
        });