无法通过 Android 中的 for 循环在 textView 中设置文本?

Cannot set text in a textView from a for-loop in Android?

我正在尝试在我的 textView 中设置一些来自 for 循环的文本。 我有这个 ListList<List<String>> movies 并且 for-loop 看起来像这样:

int i = 0;
for (List<String> listMovies : movies) {
     i++;
     txtViewResult.setText("Movie " + i + " - " + "Number of actors: " + list.size() + "\n");
     txtViewResult.setText("  Actors:\n");
     for (String s : listMovies) {
          txtViewResult.setText("   " + s + "\n");
     }
}

我的textView:

<TextView
            android:layout_width="fill_parent"
            android:layout_height="500dp"
            android:id="@+id/tvResult"
            android:singleLine="false"
            android:maxLines="200"
            android:paddingStart="15dp"
            android:paddingLeft="15dp"
            android:paddingRight="15dp"/>

我的问题是我只得到 for-loop (最后一个演员) 的最后一行 textView?!!!

我已经放了 android:singleLine="false"android:maxLines="200" (以防万一) 并且我正在使用;转到新行 \n。然而,我没有得到我想要的。

知道我为什么会收到这个吗? textView 我错过了一些 attribut 吗? 非常感谢任何帮助。

在 textView 中设置之前,您必须连接文本。现在你的 textView 有演员的姓氏,因为那一行被称为最后。

     txtViewResult.setText("   " + s + "\n");

尝试做这样的事情:

String myText = ""
for (List<String> listMovies : movies) {
     i++;
     myText += ("Movie " + i + " - " + "Number of actors: " + list.size() + "\n";
     myText += "  Actors:\n";
     for (String s : listMovies) {
       myText += "   " + s + "\n";
     }
}
txtViewResult.setText(myText)