簡體   English   中英

TextView不添加新行

[英]TextView does not add new lines

我有:

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");

它所做的只是打印最后一個值,這有什么用?

您正在使用setText()來設置新文本並替換任何現有文本。 每次通話都會覆蓋您的文字。 您正在尋找追加文本的append()

每次調用setText()時,您都將擦除之前的內容。 如果要將TextView的值設置為所有字符串,請嘗試使用StringBuilder

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

setText()覆蓋TextArea的所有先前內容。

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

會給您您想要的結果

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM