在开始活动后退出alertdialog

时间:2012-08-02 17:05:11

标签: android android-alertdialog

我有一个显示的方法,AlertDialog有3个Buttons;中性,消极和积极。

我希望中立人使用Dialog在我的应用程序前打开联系人应用程序。但是,Dialog在我回到Activity时关闭,即使它应该是“中立”并且我没有放任何return语句。

这是我的代码:

    public static void showAddFriendDialog(Context ctx1) {
        final Context ctx = ctx1;

        //showGetFriendsFromContacts(ctx);

         // Set an EditText view to get user input 

         final EditText input = new EditText(ctx); input.setHint("name");
         final EditText input2 = new EditText(ctx); input2.setHint("firstname");
         final EditText input3 = new EditText(ctx); input3.setHint("login/email");

         // on est obligé de mettre un layout car on peut que mettre un setview
         LinearLayout layout = new LinearLayout(ctx);
         layout.setOrientation(LinearLayout.VERTICAL);

         layout.addView(input);
         layout.addView(input2);
         layout.addView(input3);

         AlertDialog.Builder builder = new AlertDialog.Builder(ctx);

         builder.setCancelable(true);
         builder.setTitle("Add a friend");
         builder.setMessage("Fill in the fields you know or get your contact info from your Contact List :");

         builder.setView(layout);

        builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {

........................

            }
        });
        builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) {
                return;
            }
        });

        builder.setNeutralButton("Contact List",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {

                        ctx.startActivity(new Intent(null, ContactsContract.Contacts.CONTENT_URI));

                    }

       });


        builder.setOnCancelListener(new DialogInterface.OnCancelListener() {
            public void onCancel(DialogInterface dialog) {
                return;
            }
        });

        builder.show();
    }

有人知道造成这种情况的原因吗?

1 个答案:

答案 0 :(得分:1)

无论如何点击按钮,默认对话框将始终退出。

建议您实施custom dialog以避免这种情况。