2011-12-14 6 views
4

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

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

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

ответ

12

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

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

«\ N» - это escape-символ, который означает «New Line», который я не знаю о вашем конкретном случае, но вы можете использовать его практически во всем AFAIK.

+1

Спасибо большое :) –

0

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

+0

Разработка новой строки в слове в типичной среде представляет собой CR/LF или символ 13, за которым следует символ 10 (\ r \ n). –

+0

Спасибо !!!!!!!!! –

4

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

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

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

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);).

Смежные вопросы