2017-01-17 2 views
0

Ich habe einen Alarmdialog, der gut funktioniert, aber ich vermute, dass ich meinen Code etwas aufräumen kann. Ich verwende eine stringBuilder, um die Nachricht zusammen zu ziehen, zusätzlich zur Verwendung von String.format, um den Abstand für jede Zeile angenehm zu bekommen. Es ist die String.format, die mich daran hindert, wie normal anzuhängen. Ich würde lieber nicht vier (4) String-Objekte verwenden, um all dies zu erreichen. Zeige mir eine prägnantere Codierung und sei für immer cool.Verwendung von stringBuilder in Kombination mit String.format

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
     builder.setCancelable(true); 
     builder.setTitle("Total Counts"); 

     StringBuilder stringBuilder = new StringBuilder(); 

     String one= String.format("%-10s %s", calCount1, "#1 count\n"); 
     String two= String.format("%-10s %s", calCount2, "#2 count\n"); 
     String three= String.format("%-10s %s", calCount3, "#3 count\n"); 
     String four= String.format("%-10s %s", calCount4, "#4 count\n"); 

     stringBuilder.append(one); 
     stringBuilder.append(two); 
     stringBuilder.append(three); 
     stringBuilder.append(four); 

     builder.setMessage(stringBuilder.toString()); 
     ... 

Antwort

1

Vielleicht das.

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); 
    builder.setCancelable(true); 
    builder.setTitle("Total Counts"); 

    StringBuilder stringBuilder = new StringBuilder(); 

    stringBuilder.append(String.format("%-10s %s", calCount1, "#1 count\n")); 
    stringBuilder.append(String.format("%-10s %s", calCount2, "#2 count\n")); 
    stringBuilder.append(String.format("%-10s %s", calCount3, "#3 count\n")); 
    stringBuilder.append(String.format("%-10s %s", calCount4, "#4 count\n")); 

    builder.setMessage(stringBuilder.toString()); 
+0

Ich bin mir nicht sicher, ob Sie etwas dabei gewinnen. –

+0

Das hat funktioniert! Ich habe es nie mit den Klammern versucht. Ich fühle mich ein bisschen albern. Aber hey, danke! – seekingStillness

0

Sie können Formatierungsplatzhalter in Zeichenfolgenressourcen verwenden. Siehe this page, unter dem Abschnitt "Formatierung von Strings". Es sollte mit den Standardformatierungsmodifikatoren funktionieren, die Sie haben.

Verwandte Themen