android - también - para definir un cuadro de texto en el que se pueden escribir múltiples líneas de texto se emplea:
Mostrar múltiples líneas de texto y variables en un AlertDialog usando setMessage() (3)
Necesito mostrar varias líneas de texto en un cuadro de diálogo de alertas. Si utilizo varios métodos setMessage (), solo se muestra el último setMessage, como se muestra a continuación.
final AlertDialog alertDialog = new AlertDialog.Builder(this).create();
alertDialog.setTitle("Statistics:");
alertDialog.setMessage("No. of attempts: " + counter);
alertDialog.setMessage("No. of wins: " + counterpos);
alertDialog.setMessage("No. of losses: " + counterneg);
¿Hay alguna forma de crear una nueva línea para cada uno de estos en el cuadro de diálogo? Como usar / n en System.print.out (); método.
¡Gracias!
Puedes hacer algo como esto
String alert1 = "No. of attempts: " + counter;
String alert2 = "No. of wins: " + counterpos;
String alert3 = "No. of losses: " + counterneg;
alertDialog.setMessage(alert1 +"/n"+ alert2 +"/n"+ alert3);
Simplemente podría crear una cadena de todo lo que desea mostrar y agregar "/ n" donde le gustaría que los saltos de línea sean.
alertDialog.setMessage("No. of attempts: " + counter + "/n" +
"No. of wins: " + counterpos + "/n" +
"No. of losses: " + counterneg);
O mejor aún usar un StringBuilder:
StringBuilder sb = new StringBuilder();
sb.append("No. of attempts: " + counter);
sb.append("/n");
sb.append("No. of wins: " + counterpos);
sb.append("/n");
sb.append("No. of losses: " + counterneg);
alertDialog.setMessage(sb.toString());
Y la mejor manera de hacerlo sería extraer los textos estáticos en un recurso de cadena (en el archivo strings.xml). Use% d (o% s si desea insertar cadenas en lugar de ints) para obtener los valores dinámicos en los lugares correctos:
<string name="alert_message">No. of attempts: %1$d/nNo. of wins: %2$d/nNo. of losses: %3$d</string>
Y luego en código:
String message = getString(R.string.alert_message, counter, counterpos, counterneg);
alertDialog.setMessage(message);
También puede insertar nuevas líneas directamente en el archivo strings.xml:
<string name="my_string_text">This would revert your progress./n/n Are you sure you want to proceed?</string>