为TextView分配一个double值?

时间:2013-09-24 16:55:47

标签: java android xml

如何为TextView指定double值?这是代码:

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?

2 个答案:

答案 0 :(得分: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"));
}

答案 1 :(得分:0)

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

if (condition1 && condition3) {
    tv.setText("TEXT 03" + "TEXT 01");
}