Ответ 1
Вы можете сделать что-то вроде этого
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);
Мне нужно отобразить несколько строк текста в диалоговом окне Alert. Если я использую несколько методов setMessage(), отображается только последний setMessage, как показано ниже.
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);
Есть ли способ создать новую строку для каждого из них в диалоговом окне? Подобно использованию \n в System.print.out(); Метод.
Спасибо!
Вы можете сделать что-то вроде этого
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);
Вы можете просто создать одну строку всего, что вы хотите показать, и добавить "\n", где вам нужны разрывы строк.
alertDialog.setMessage("No. of attempts: " + counter + "\n" +
"No. of wins: " + counterpos + "\n" +
"No. of losses: " + counterneg);
Или даже лучше использовать 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());
И лучший способ сделать это - извлечь статические тексты в строковый ресурс (в файле strings.xml). Используйте% d (или% s, если вы хотите вставить строки, а не int), чтобы получить динамические значения в правильных местах:
<string name="alert_message">No. of attempts: %1$d\nNo. of wins: %2$d\nNo. of losses: %3$d</string>
И затем в коде:
String message = getString(R.string.alert_message, counter, counterpos, counterneg);
alertDialog.setMessage(message);
Вы также можете вставлять новые строки непосредственно в файл strings.xml:
<string name="my_string_text">This would revert your progress.\n\n Are you sure you want to proceed?</string>