29 votes

Alternative setButton

J'utilise ce code dans mon projet Android :

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
        }
    });

Mais, Eclipse dit que setButton() est déprécié. S'il vous plaît, aidez-moi à trouver une solution alternative. Merci !

67voto

Android Developer Points 2203
AlertDialog.Builder builder = new AlertDialog.Builder(activity);
        builder.setTitle("ALERTTILESTRING")
        .setMessage("alertNameString")
        .setCancelable(false)
        .setNegativeButton("Close",new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
        });
        AlertDialog alert = builder.create();
        alert.show();
    }

J'espère que le code ci-dessus est un bon code dans lequel le dialogue fonctionne très bien.

34voto

Mahnster Points 305

SetButton() n'est pas ce qui est déprécié, mais cette combinaison fonction + argument. Il y a toujours setButton(), mais vous devez donner un ID pour le bouton comme premier argument pour setButton() :

alertDialog.setButton(0, "OK", new DialogInterface.OnClickListener() {
    public void onClick(DialogInterface dialog, int which) {
      <do something>;
    }
});

C'est utile si vous voulez donner à tous vos boutons le même OnClickListener :

class alertDialogOnClickListener implements DialogInterface.OnClickListener {
    public void onClick(DialogInterface dialog, int which) {
        switch(which){
            case 1:
                <do something>;
                break;
            case 2:
                <do something>;
                break;
        }
    }
}
alertDialog.setButton(1, "OK", new alertDialogOnClickListener());
alertDialog.setButton(2, "Cancel", new alertDialogOnClickListener());

13voto

VenomFangs Points 2222

Utilisez : setButton(int whichButton, CharSequence text, DialogInterface.OnClickListener listener);

Pour whichButton utilisez l'une des options suivantes :

DialogInterface.BUTTON_POSITIVE 
DialogInterface.BUTTON_NEGATIVE
DialogInterface.BUTTON_NEUTRAL

7voto

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
            builder.setTitle("Alert");
            builder.setIcon(R.drawable.ic_launcher);
            builder.setMessage("Attention");
            builder.setPositiveButton("Get Location",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();

                        }
                    });

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

                        }
                    });

            builder.setNegativeButton("Exit",
                    new DialogInterface.OnClickListener() {
                        public void onClick(DialogInterface dialog, int id) {
                            dialog.cancel();

                        }
                    });
            builder.show();

1voto

ankita gahoi Points 1033

Utilisez ceci et définissez un bouton positif ou négatif

setButton(int whichButton, CharSequence text, DialogInterface.OnClickListener listener) ;

se référer à ce [http://developer.Android.com/reference/Android/app/AlertDialog.html#setButton(int](http://developer.android.com/reference/android/app/AlertDialog.html#setButton(int) , java.lang.CharSequence, Android.content.DialogInterface.OnClickListener)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X