TextView不会添加新行

时间:2015-10-15 14:58:25

标签: java android

我有:

class ccProfile{
    private String issuer, name, cardnum, expire;
    private Double bal, limit;
    //getters and setters

在creditCard.java中。在我的主要活动中,我使用了一个switch语句来从我拥有的数组中设置它们。我试图将它们全部打印到textview,但我似乎无法让它们在单独的行上打印....

设置数据的示例:

ccProfile ccObj1 = new ccProfile();
// . . . . . . . . 
case 2:
    ccObj1.setCardnum(data[z]);
    z++;
    break;

以下是我打印的方式:

tv1.setText(ccObj1.getIssuer() + "\n");
tv1.setText(ccObj1.getName()+"\n");
tv1.setText(ccObj1.getCardnum()+"\n");
tv1.setText(ccObj1.getExpire()+"\n");
sD = Double.toString(ccObj1.getBal());
tv1.setText(sD+"\n");
sD = Double.toString(ccObj1.getLimit());
tv1.setText(sD+"\n");

它所做的就是打印最后一个值,是什么给出的?

3 个答案:

答案 0 :(得分:1)

您正在使用setText()设置新文本并替换任何现有文本。它会在每次通话时覆盖您的文本。您正在寻找附加文字的append()

答案 1 :(得分:1)

每次调用setText()时,都会删除之前的内容。如果要将TextView的值设置为所有字符串,请尝试使用StringBuilder

StringBuilder sb = new StringBuilder();
sb.append("string 1 \n");
sb.append("string 2");
tv1.setText(sb.toString());

答案 2 :(得分:0)

setText()会覆盖TextArea的所有先前内容。

itemprop="offers"

将为您提供所需的结果