我正在从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数据的建议。
答案 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)
}