2013-09-23 198 views
0

我的应用程序中有一个TextView。根据我从服务器获得的值,我想设置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必须设置红色

我怎样才能做这个?

+0

我们要需要看如何你从服务器收到你的值。 – CodePrimate

+0

http://stackoverflow.com/questions/4602902/how-to-set-text-color-of-textview-in-code的可能重复 – slashburn

回答

1

当你从服务器获取vaule那么首先设定值的TextView按照乌拉圭回合requirenment ..

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 
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 tv = (TextView)findViewById(R.id.approval_status); 

Retrive TextView的再选择颜色

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; 
} 
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); 
} 
0

在代码fragement,你从得到的答案服务器试试这个:

if(insertConditionForOrangeHere) 
    myTextView.setTextColor(Color.ORANGE); 
else if(insertConditionForGreenHere) 
    myTextView.setTextColor(Color.GREEN); 
else if(insertConditionForRedHere) 
    myTextView.setTextColor(Color.RED); 
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 
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); 
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);