2017-01-17 1 views
0

J'ai une boîte de dialogue d'alerte qui fonctionne bien, mais je suppose que je peux nettoyer mon code. J'utilise un stringBuilder pour aider à rassembler le message, en plus d'utiliser String.format pour obtenir l'espacement agréable pour chaque ligne. C'est le String.format qui m'empêche d'ajouter comme d'habitude. Je préfère ne pas utiliser quatre (4) objets String pour accomplir tout cela. Montrez-moi un codage plus concis et soyez cool pour toujours.Utilisation de stringBuilder en combinaison avec 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()); 
     ... 

Répondre

1

Peut-être que.

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

Je ne sais pas si vous gagnez quoi que ce soit en faisant cela. –

+0

Cela a fonctionné! Je n'ai jamais essayé avec la parenthèse. Je me sens un peu bête. Mais bon, merci! – seekingStillness

0

Vous pouvez utiliser des espaces réservés de mise en forme dans les ressources de chaîne. Voir this page, dans la section "Mise en forme des chaînes". Cela devrait fonctionner avec les modificateurs de formatage standard comme vous avez.