-1

如何为 TextView 分配双精度值?这是代码:

if(condition()) {

    TV=(TextView)view.findViewById(R.id.textView); 
    TV.setText(Html.fromHtml("<b>TEXT 01 </b>"));

}
else {
    TV=(TextView)view.findViewById(R.id.textView); 

    TV.setText(Html.fromHtml("<b>TEXT 02</b>"));

}

if(condition) {
    TV=(TextView)view.findViewById(R.id.textView); 

    TV.setText(Html.fromHtml("TEXT 03"));

}
else {
    TV=(TextView)view.findViewById(R.id.textView); 

    TV.setText(Html.fromHtml("TEXT 04"));

}

如果我运行应用程序并且两个条件都为真,则返回,因为我只看到最后写的文字 TEXT 03。我如何查看 TEXT 01?

4

2 回答 2

0

您正在使用相同的TextView. 您需要创建第二个TextView或附加String您想要的。

    if(condition()) {

        TV=(TextView)view.findViewById(R.id.textView); // each time you call this you reintializ
                                                   // the TextView then set new text to it
                                                   // you don't append the text
        TV.setText(Html.fromHtml("<b>TEXT 01 </b>"));

   }
    else {
        TV=(TextView)view.findViewById(R.id.textView); 

        TV.setText(Html.fromHtml("<b>TEXT 02</b>"));

    } 

    if(condition) {
        TV=(TextView)view.findViewById(R.id.textView); 

        TV.setText(Html.fromHtml("TEXT 03"));

    }
    else {
         TV=(TextView)view.findViewById(R.id.textView); 

        TV.setText(Html.fromHtml("TEXT 04"));

  }

为了使这更简单,初始化TextView一次并在第二个条件中附加文本

TV=(TextView)view.findViewById(R.id.textView);
if (condition())
{
    TV.setText(Html.fromHtml("<b>TEXT 01 </b>"));
else
{
    TV.setText(Html.fromHtml("<b>TEXT 02</b>"));
}

if (condition)
{
    TV.append(Html.fromHtml("TEXT 03"));
}
else
{
    TV.append(Html.fromHtml("TEXT 04"));
}
于 2013-09-24T17:00:19.663 回答
0

您只能在 TextView 上看到“TEXT 03”,因为您在 setText(TEXT 01") 之后调用 setText("TEXT 03") 如果它们都为真,那么 TEXT 03 会覆盖 TEXT 01。您应该更改逻辑,例如:

if (condition1 && condition3) {
    tv.setText("TEXT 03" + "TEXT 01");
} 
于 2013-09-24T17:00:31.233 回答