在TextView中显示列表

时间:2012-08-22 14:10:12

标签: android

我正在为一个有趣的应用程序制作一个虚假的命令行系统,我想在同一个TextView中显示输入和输出,如下所示:

>something
>something else
>even more stuff
>etcetera.

我已经想出如何将EditText中的文本存储到字符串中并添加\ n和>,但是我不能使用字符串来完成整个事情:为了避免堵塞RAM,我想删除之后,说50?我认为使用列表会更容易。

然而,这不起作用:

log.setText((CharSequence) logText);

但是会怎么样?

3 个答案:

答案 0 :(得分:1)

此方法:

http://developer.android.com/reference/android/text/TextUtils.html#join(java.lang.CharSequence,java.lang.Iterable)

返回由每个元素之间的分隔符分隔的每个元素(要么强制转换为字符串或使用toString值)组成的字符串。因此,您可以轻松地将所有项目连接在一个字符串中。

你也可以使用http://developer.android.com/reference/java/util/AbstractList.html#subList(int,int) 限制所述清单中的项目数。

根据您的问题,我假设logText是某种类型的List,因此您可以调用

log.setText(TextUtils.join("\n>", logText.subList(0, 50));

答案 1 :(得分:0)

也许您可以将所有字符串放在一个列表中,每次添加一个字符串时,从列表中重新创建包含所有项目的单个字符串,并将其影响到您的textview。

答案 2 :(得分:0)

您可以使用不带分隔符的ListView,并使用ArrayAdapter填充它。

这样您就不必担心内存,用户可以轻松滚动以前的命令。