0

我的应用程序中有一个 TextView。根据我从服务器获得的值,我想设置 TextView 的文本颜色。

这是我的文本视图

 <TextView
            android:id="@+id/approval_status"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="5dp"
            android:text="W" />
  • 如果 PI 必须设置橙色
  • 如果 AI 必须设置为绿色
  • 如果 RI 必须设置为红色

我怎么能做到这一点?

4

7 回答 7

2

解析响应

public enum Status { PENDING, APPROVED, REJECTED }

public static Status statusFromResponse(String response) {
    if (response == "P") {
        return PENDING;
    } else if (response == "A") {
        return APPROVED;
    } else {
        return REJECTED;
    }
}

通过检索 TextView

TextView tv = (TextView)findViewById(R.id.approval_status);

然后选择颜色

switch (valueFromServer) {
     case PENDING:
         tv.setTextColor(0xff9900); //CHOOSE YOUR ORANGE
         break;
     case APPROVED:
         tv.setTextColor(Color.GREEN);
         break;
     case REJECTED:
         tv.setTextColor(Color.RED);
         break;
}
于 2013-09-23T11:32:59.963 回答
1
if(P)
{
textview.setTextColor(0xffCC00);// hex code of orange as 'Color' dont have orange color in list
}
else if(A)
{
textview.setTextColor(Color.GREEN);
}
else if(R)
{
textview.setTextColor(Color.RED);
}
于 2013-09-23T11:34:18.453 回答
1

当您从服务器获取值时,首先根据您的要求在 TextView 中设置该值..

Textview t = (Textview)findViewById(R.id.approval_status);
t.setText(value);


if(value.equalsIgnoreCase("P")
 t.setTextColor(Color.parseColor("#FFA500"));
else if(value.equalsIgnoreCase("A")
 t.setTextColor(Color.GREEN);
else if(value.equalsIgnoreCase("R")
 t.setTextColor(Color.RED);
else
于 2013-09-23T11:39:10.303 回答
1
Textview approval_status = (Textview)findViewById(R.id.approval_status)

if(serverValue.equals("P")
    approval_status.setTextColor(0xFF6600); // Orange 
else if(serverValue.equals("A")
    approval_status.setTextColor(Color.GREEN);
else if(serverValue.equals("R")
    approval_status.setTextColor(Color.RED);
于 2013-09-23T11:40:38.820 回答
0

在您从服务器获得答案的代码片段中,请尝试以下操作:

if(insertConditionForOrangeHere)
    myTextView.setTextColor(Color.ORANGE);
else if(insertConditionForGreenHere)
    myTextView.setTextColor(Color.GREEN);
else if(insertConditionForRedHere)
    myTextView.setTextColor(Color.RED);
于 2013-09-23T11:34:23.790 回答
0
Textview tv = (Textview)findViewById(R.id.approval_status)

if(serverValue.equals("P")
    tv.setTextColor(0xFF6600); // Orange 
else if(serverValue.equals("A")
    tv.setTextColor(Color.GREEN);
else if(serverValue.equals("R")
    tv.setTextColor(Color.RED);
else
    // Handle it
于 2013-09-23T11:35:56.317 回答
0
Textview status = (Textview)findViewById(R.id.status)

if(value.equals("P")
    approval_status.setTextColor(Color.parseColor("#ffae00")); // Orange Color Code
else if(value.equals("A")
    approval_status.setTextColor(Color.GREEN);
else if(value.equals("R")
    approval_status.setTextColor(Color.RED);
于 2013-09-23T11:44:40.803 回答