2012-09-10 1 views
-2
Dialog dialog = new AlertDialog.Builder(Activity01.this) 
       .setTitle("Login hint") 
       .setMessage("Here needs your login!") 
       .setPositiveButton(...) 
       .setNeutralButton(... 
       ).create(); 

De quel type de grammaire s'agit-il? Je ne peux pas comprendre pourquoi ces points sont un par un? Et le create() est pour Builder() ou pour setNeutralButton()?Quel genre de grammaire est-ce sous Android?

Merci!

+0

(...) représentent .setPositiveButton (int textID, auditeur DialogInterface.OnClickListener) –

+1

Ce style de programmation ('sorte de grammaire') est connu sous le nom ** ** couramment. – reinierpost

+0

Oui, et aussi connu sous le nom de ** fluide ** ou ** à chaîne **. À part: ce n'est pas seulement Android qui l'utilise - ou Java en fait - de nombreux langages OO (JavaScript, PHP et autres) utilisent cette approche. – halfer

Répondre

2

Builder est une classe interne statique de AlertDialog. Chaque appel renvoie this vous permettant d'enchaîner les méthodes. Enfin, vous appelez create() pour créer la boîte de dialogue actuelle. C'est Java de base et a peu à voir avec Android, outre le fait qu'Android utilise beaucoup ce modèle.

+0

La meilleure réponse! Donc clair maintenant, merci! –

2

setTitle, setMessage sont les méthodes de la DialogBox.

vous pouvez également écrire

Dialog dialog = new AlertDialog.Builder(Activity01.this); 
dialog.setTitle("Login hint") 
dialog.setMessage("Here needs your login!") 
dialog.setPositiveButton(...) 
dialog.setNeutralButton(...) 
dialog .create(); 

si vous voulez plus de précisions à ce sujet, vous pouvez visiter this

+0

Bien! C'est comme ça que je peux l'imaginer. –

0

.setPositiveButton (...) fait référence que vous voulez passer du texte à afficher et à écrire la logique pour cliquez sur les événements.

Refer here:

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Are you sure you want to exit?") 
     .setCancelable(false) 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       MyActivity.this.finish(); 
      } 
     }) 
     .setNegativeButton("No", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
AlertDialog alert = builder.create();