Отображение нескольких строк текста в диалоге оповещения - PullRequest
5 голосов
/ 15 декабря 2011

Мне нужно отобразить несколько строк сообщений, а не только один абзац, в диалоговом окне оповещения.

new AlertDialog.Builder(this)
.setTitle("Place")
.setMessage("Go there" +
        "Go here")
.setNeutralButton("Go Back", null)
.show();

Есть ли способ начать с новых строк?Так же, как нажать Enter после предложения в Microsoft Word?

Ответы [ 4 ]

13 голосов
/ 15 декабря 2011

На это нет никаких гарантий, но обычно, чтобы сделать несколько строк, вы делаете что-то вроде:

.setMessage("Go there\nGo here");

"\ n" - это escape-символ, означающий "Новая строка". Я не знаю о вашем конкретном случае, но вы можете использовать его практически во всем AFAIK.

4 голосов
/ 15 декабря 2011

Используйте тег "\ n" в ваших строках:

new AlertDialog.Builder(this)
    .setTitle("Place")
    .setMessage("Go there" + "\n" +
            "Go here")
    .setNeutralButton("Go Back", null)
    .show();
0 голосов
/ 23 июня 2016

Я думаю, что лучшее решение состоит в том, чтобы избежать разрыва строки и использовать пользовательский компонент представления.

AlertDialog.Builder builder = new AlertDialog.Builder(this);
TextView tw =new TextView(this);
        tw.setMaxLines(10);
        tw.setPadding(3,3,3,3);
        tw.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
        tw.setSingleLine(false);
        tw.setText("ver long messagge \n with break line \n");
        builder.setView(tw);

С помощью этого решения вы можете разбить строку, если хотите использовать \n, но если вы нет, текст будет перенесен на несколько строк (так как я установил tw.setSingleLine(false);).

0 голосов
/ 15 декабря 2011

Вы пробовали символ возврата каретки или перевода строки?Это символы 10 и 13 соответственно (специальные символы \ n и \ r или \ u000a и \ u000d)

...