0

表示するメソッドがあり、AlertDialogそれには 3 Buttons;があります。ニュートラル、ネガティブ、ポジティブ。

ニュートラルがアプリケーションの前に連絡先アプリケーションを開くようにしたいDialog. しかし、「ニュートラル」であるはずなのに、何も言わなかったのにDialog、私が戻ってくると閉まっています。Activityreturn

これが私のコードです:

    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();
    }

誰かがそれを引き起こしていることを知っていますか?

4

1 に答える 1

1

ボタンがクリックされると、デフォルトのダイアログは常に終了します。

それを避けるために、カスタム ダイアログを実装することをお勧めします。

于 2012-08-02T17:27:22.983 に答える