我正在解析来自URL的JSON数据。我正在使用此示例来解析数据我成功地解析了数据,现在我想要一点东西,如果产品可用,我想将其保留为绿色,但如果产品可用,我希望将该名称保留为其他颜色。
我的可用性数据是。
这是我可用的 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"应该是绿色的,其他方面应该是其他颜色,如黑色、灰色或红色。
我尝试使用普通数据,但这我得到了 forma URL,因此请给我任何关于从 URL 获取的动态 JSON 数据的建议。
JSONObject jObj = new JSONObject(String);
if (jObj.getString("availability").equalsIgnoreCase("Not Available")) {
textView1.setTextColor(Color.RED)
} else {
textView1.setTextColor(Color.GREEN)
}
JSONObject jObj = new JSONObject(String);
if (jObj.getString("availability").equalsIgnoreCase("Not Available")) {
//textcolor = red
} else {
//textcolor = green
}
如果您想更改字符串的一部分,请在 android 中使用 Spannable
。以这篇文章为例。否则TextView
有一个 setTextColor 方法,该方法采用 int。此 int 不是资源 ID。它应该按如下方式使用textView1.setTextColor(getResources().getColor(R.color.mycolor))
或textView1.setTextColor(Color.RED)
试试这个。
JSONObject object= new JSONObject(String);
if (object.getString("availability").equalsIgnoreCase("Available")) {
textView1.setTextColor(Color.GREEN)
} else {
textView1.setTextColor(Color.RED)
}