2013-09-23 6 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 должны установить Orange
  • если 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; 
    } 
} 

Retrive в 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; 
} 
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); 
Смежные вопросы