0

我正在创建一个 Android 游戏,但使用 TextView 的动态文本存在问题。在我的布局中,我有一个 TextView,在一个相对布局中,有足够的空间容纳几行。

我想做的是在 TextView 中添加 5 行,其功能是一旦尝试编写第 6 行,它会自动覆盖第 1 行,因此最多只显示 5 行文本。

我所追求的示例:

dynamic line 1
...
dynamic line 5

请在下面找到我的 xml 代码:

<RelativeLayout android:id="@+id/battleconsole" 
    android:layout_width="fill_parent"
    android:layout_height="135dp"
    android:gravity="center_horizontal"
    android:layout_below="@+id/spacer1" >

    <TextView
            android:id="@+id/battle_details"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="Console with information" />
 </RelativeLayout>

这是我用来更新 TextView 中的文本的代码:

TextView update = (TextView)findViewById(R.id.battle_details);
update.setText("test console data going in here");

我不确定这是否甚至可以使用 TextView,如果没有,还有其他方法可以解决这个问题吗?

提前致谢

4

1 回答 1

3

Keep the 5 lines in a collection (array or list). When you set the text on the TextView, join the lines in the collection on "\n". Then just replace the item in the collection with the updated text.

Android has a join method in the TextUtils class, but I prefer the Guava library's Joiner class. Check it out: Google Guava

于 2012-10-16T16:49:44.643 回答