如何根据android中的可用性更改文本颜色?

时间:2013-12-25 05:44:14

标签: android json url

我正在从URL解析JSON数据。 我正在使用this example来解析数据 我成功解析了数据,现在我想要一点点,如果产品可用,我想保持绿色,但如果产品可用,我希望保持该名称的其他颜色。

我的可用性数据是。

这是我可用的json数据

       {
          "id":"1234",
          "price": "311.95",
          "seller": "Shopclues.com",
          "availability": "Available",
          "currency": "USD"
        }

这是不可用的

        {
          "id":"4321"
          "price": "290.05",
          "seller": "Tradus.com",
          "availability": "Not Available",
          "currency": "USD"
        }

所以我想要数据,如果产品是可用的 我想要“id”:“1234”应该是绿色,否则它应该是其他颜色,如黑色或灰色或红色。

我尝试使用普通数据,但我正在获取格式URL,所以请给我任何关于从网址获取的动态JSON数据的建议。

4 个答案:

答案 0 :(得分:2)

JSONObject jObj = new JSONObject(String);
if (jObj.getString("availability").equalsIgnoreCase("Not Available")) {
       //textcolor = red
} else {
       //textcolor = green
}

答案 1 :(得分:2)

如果要更改字符串的一部分,请在android中使用Spannable。看一下this post的例子。否则TextView有一个setTextColor方法,它接受一个int。这个int不是资源ID。它应该使用如下textView1.setTextColor(getResources().getColor(R.color.mycolor))textView1.setTextColor(Color.RED)

答案 2 :(得分:1)

JSONObject jObj = new JSONObject(String);
if (jObj.getString("availability").equalsIgnoreCase("Not Available")) {
     textView1.setTextColor(Color.RED)
} else {
      textView1.setTextColor(Color.GREEN)
}

答案 3 :(得分:1)

试试这个..

     JSONObject object= new JSONObject(String);
     if (object.getString("availability").equalsIgnoreCase("Available")) {
           textView1.setTextColor(Color.GREEN)
     } else {
           textView1.setTextColor(Color.RED)
     }