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

サーバーから値を取得する場合は、最初に必要条件に従って 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 に答える
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 に答える