Текстовое представление Android не поддерживает разрыв строки

Я программно создаю пользовательское представление, которое отображает текст, проанализированный из XML-файла. Текст длинный и содержит символ "/n" для принудительного разрыва строки. По какой-то причине в текстовом представлении отображается /n и нет разрывов строк. Вот мой код:

                    // get the first section body
                    Object body1 = tempDict.get("FIRE");
                    String fireText = body1.toString();

                    // create the section body
                    TextView fireBody = new TextView(getActivity());
                    fireBody.setTextColor(getResources().getColor(R.color.black));
                    fireBody.setText(fireText);
                    fireBody.setTextSize(14);
                    fireBody.setSingleLine(false);
                    fireBody.setMaxLines(20);
                    fireBody.setBackgroundColor(getResources().getColor(R.color.white));

                    // set the margins and add to view
                    layoutParams.setMargins(10, 0, 10, 0);
                    childView.addView(fireBody,layoutParams);

Текст из XML-файла выглядит так:

Now is the time /n for all good men to /n come to the aid of their /n party

Он должен отображаться как таковой;

Now is the time
for all good men to
come to the aid of their
party

Есть ли какие-то настройки, которые мне не хватает?

ОБНОВЛЕНИЕ

\r\n работает, если я жестко закодирую его в своем представлении. то есть:

String fireText = "Now is the time \r\n for all good men \r\n to come to the aid";

На самом деле \n также работает, если я жестко запрограммирую его:

String fireText = "Line one\nLine two\nLine three";

К вашему сведению

System.getProperty("line.separator");

это возвращает строку «/n», поэтому нет необходимости преобразовывать в «/r/n».

К сожалению, мои данные происходят из XML-файла, который анализируется и сохраняется в хэш-карте. Я попробовал следующее:

String fireText = body1.toString().replaceAll("\n", "\r\n");

\n не заменяется на \r\n. Может быть, это потому, что я конвертирую объект в строку?

19
задан CRABOLO 21 March 2015 в 12:04
поделиться