Java 如何在android中基于值设置多列listview中的背景色?
我是android新手,数据库中有一个表,我想使用json解析器更改url并检索程序,然后输出 我的问题是如何根据ex值改变背景色(Java 如何在android中基于值设置多列listview中的背景色?,java,android,json,android-listview,android-adapterview,Java,Android,Json,Android Listview,Android Adapterview,我是android新手,数据库中有一个表,我想使用json解析器更改url并检索程序,然后输出 我的问题是如何根据ex值改变背景色(quantity(qny)为0到10背景色为红色,11到30表示背景色为绿色,31到50表示背景色为蓝色) 代码: 公共类AndroidJSONParsingActivity扩展了ListActivity{ 专用静态字符串url=”http://10.0.2.2:51382/RestServiceImpl.svc/json/123"; /*JSON节点名称*/ 私有
quantity(qny)
为0到10背景色为红色,11到30表示背景色为绿色,31到50表示背景色为蓝色)
代码:
公共类AndroidJSONParsingActivity扩展了ListActivity{
专用静态字符串url=”http://10.0.2.2:51382/RestServiceImpl.svc/json/123";
/*JSON节点名称*/
私有静态最终字符串标记_CONTACTS=“JSONDataResult”;
私有静态最终字符串标记\u ID=“ID”;
私有静态最终字符串标记_NAME=“NAME”;
私有静态最终字符串标记\u MRP=“MRP”;
专用静态最终字符串标记\u QNT=“数量”;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//ListView的Hashmap
ArrayList contactList=新建ArrayList();
//创建JSON解析器实例
JSONParser jParser=新的JSONParser();
//从URL获取JSON字符串
JSONObject json=jParser.getJSONFromUrl(url);
试一试{
//获取联系人数组
JSONArray contacts=json.getJSONArray(“JSONDataResult”);
//通过所有触点循环
对于(int i=0;ivalue
地图放置(标签标识,标识);
地图放置(标签名称、名称);
地图放置(标记MRP,MRP);
地图放置(TAG_QNT,QNT);
//地图放置(标签、手机、手机);
//将哈希列表添加到ArrayList
联系人列表。添加(地图);
}
}捕获(JSONException e){
e、 printStackTrace();
}
/**
*将解析的JSON数据更新到ListView中
* */
ListAdapter=新的SimpleAdapter(此,contactList,
R.layout.list_项目,
新字符串[]{TAG_ID,TAG_NAME,TAG_MRP,TAG_QNT},new int[]{
R.id.id,R.id.name,R.id.mrp,R.id.qnt});
setListAdapter(适配器);
}
}
只需尝试本教程,使用阵列适配器动态更改图像,并根据您的条件进行检查,然后更改背景
您需要自定义适配器class@Stack溢出用户不只是覆盖如果你有任何建议意味着告诉我最好的方法选择arrayadapter扩展类在getview方法上检查你的条件并更改布局背景@StackOverflowUser哦,谢谢,有样品吗??
public class AndroidJSONParsingActivity extends ListActivity {
private static String url = "http://10.0.2.2:51382/RestServiceImpl.svc/json/123";
/* JSON Node names */
private static final String TAG_CONTACTS = "JSONDataResult";
private static final String TAG_ID = "Id";
private static final String TAG_NAME = "Name";
private static final String TAG_MRP = "Mrp";
private static final String TAG_QNT = "qty";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Hashmap for ListView
ArrayList<HashMap<String, String>> contactList = new ArrayList<HashMap<String, String>>();
// Creating JSON Parser instance
JSONParser jParser = new JSONParser();
// getting JSON string from URL
JSONObject json = jParser.getJSONFromUrl(url);
try {
// Getting Array of Contacts
JSONArray contacts = json.getJSONArray("JSONDataResult");
// looping through All Contacts
for(int i = 0; i < contacts.length(); i++){
JSONObject c = contacts.getJSONObject(i);
// Storing each json item in variable
String Id = c.getString(TAG_ID);
String Name = c.getString(TAG_NAME);
//String email = c.getString("Age");
String Mrp = c.getString(TAG_MRP);
String qnt = c.getString(TAG_QNT);
// String address = c.getString(TAG_ADDRESS);
//String gender = c.getString(TAG_GENDER);
// creating new HashMap
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
map.put(TAG_ID, Id);
map.put(TAG_NAME, Name);
map.put(TAG_MRP, Mrp);
map.put(TAG_QNT, qnt);
//map.put(TAG_PHONE_MOBILE, mobile);
// adding HashList to ArrayList
contactList.add(map);
}
} catch (JSONException e) {
e.printStackTrace();
}
/**
* Updating parsed JSON data into ListView
* */
ListAdapter adapter = new SimpleAdapter(this, contactList,
R.layout.list_item,
new String[] { TAG_ID, TAG_NAME, TAG_MRP, TAG_QNT }, new int[] {
R.id.id, R.id.name, R.id.mrp, R.id.qnt });
setListAdapter(adapter);
}
}