2016-03-27 13 views
0

Könnte jemand die unten verwendete Punktnotation erklären? Sind das einzelne oder mehrere Aussagen oder Kürzel für etwas anderes?Was ist diese Punktnotation in Android?

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

Es ist nur Verkettungsmethoden. [Ref] (https://en.wikipedia.org/wiki/Method_chaining#Java) –

+0

Das bedeutet, dass es sich um eine einzelne Anweisung handelt, die auf mehrere Zeilen aufgeteilt ist. Es ist für die Lesbarkeit – Alex

Antwort

4

Es ist nur eine Kurzform für alle Methoden, die im AlertBuilder-Objektgenerator aufgerufen werden. Es ist das gleiche wie:

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

AlertDialog alert = builder.create(); 
alert.show(); 
4

Das ist die in Java implementierte Builder Pattern. Alles, was hier passiert, ist, dass das Builder-Objekt vom Typ AlertDialog.Builder von jeder aufgerufenen Methode zurückgegeben wird, sodass Sie die Aufrufe der Reihe nach verketten können. In Ihrem Beispiel ist das nicht anders, wenn Sie die gleichen Methoden wiederholt auf der builder Instanz aufgerufen haben. Aber das wäre mehr Tipparbeit.