2015-07-18 2 views
0

Я пытаюсь взять строку (которая отформатирована HTML) и разбить ее при каждом двойном вводе. Я знаю, что до и после двойного ввода будет тег p-блока, и я использую цикл for, чтобы разбить его таким образом. Вот мой кодStrange Glitch for Loop Inflating Views

for(String s : rawHTML.split("\\n\\n")){ 
     View newView = LayoutInflater.from(c).inflate(R.layout.commentandunder, baseView, true); 
     LinearLayout underneath = (LinearLayout) newView.findViewById(R.id.inside); 
     TextView comm = (TextView) newView.findViewById(R.id.commentLine); 

     Log.v("Slide", "Should be " + s); 
     Log.v("Slide", "Currently is "+ comm.getText()); 
     comm.setText(Html.fromHtml(s)); 

Ожидаемое поведение из этого в каждом «В настоящее время» в журнале должно быть пустым. Если есть два или более p блоков, однако, когда я устанавливаюText, он перезаписывает предыдущий текст.

Например, у меня есть строка

<p>Test</p>\n\n<p>Hello</p> 

Я должен видеть два TextViews как так

[Test] 

[Hello] 

Вместо этого, я вижу это

[Hello] 

[] 

Я действительно тупик и не может понять эту странную проблему.

Спасибо!

ответ

0

Следующий фрагмент кода shoud работает для вас.

View newView = LayoutInflater.from(c).inflate(R.layout.commentandunder, baseView, true); 
    LinearLayout underneath = (LinearLayout) newView.findViewById(R.id.inside); 
    TextView comm = (TextView) newView.findViewById(R.id.commentLine); 

    Log.v("Slide", "Should be " + s); 
    Log.v("Slide", "Currently is "+ comm.getText()); 
    for(String s : rawHTML.split("\\n\\n")){ 
     comm.append(Html.fromHtml(s)); 
    } 
+0

Спасибо за ответ! Я на самом деле пытаюсь создать новый TextView на p-блок, а не добавлять данные в TextView – ccrama