我正在尝试使用text1.setBackgroundColor(Color.rgb(r,g,b));
红色,绿色,蓝色值来自数据库基于值i
设置r=128,g=255,b=128
以编程方式设置它颜色是暗绿色但我运行程序它将显示红色
for(int i = 0; i < list.length(); i++){
JSONObject c = list.getJSONObject(i);
// Storing each json item in variable
// String GRPCODE = c.getString(TAG_GRPCODE);
String GRPNAME = c.getString(TAG_GRPNAME);
String QTY = c.getString(TAG_QNT);
String BUDGET = c.getString(TAG_BUDGET);
String STOCK = c.getString(TAG_STOCK);
String DIFF = c.getString(TAG_DIFF);
String DIFF_P = c.getString(TAG_DIFF_P);
COLOR = c.getString(TAG_COLOR);
/*String[] ARGB = COLOR.split(" ");
String V1=ARGB[0];
String V2=ARGB[1];
String V3=ARGB[2];
String V4=ARGB[3];
a=Integer.parseInt(V1);
r=Integer.parseInt(V2);
g=Integer.parseInt(V3);
b=Integer.parseInt(V4);*/
HashMap<String, String> map = new HashMap<String, String>();
// adding each child node to HashMap key => value
// map.put(TAG_GRPCODE, GRPCODE);
map.put(TAG_GRPNAME, GRPNAME);
map.put(TAG_QNT, QTY);
map.put(TAG_BUDGET, BUDGET);
map.put(TAG_STOCK, STOCK);
map.put(TAG_DIFF, DIFF);
map.put(TAG_DIFF_P, DIFF_P);
map.put(TAG_COLOR,COLOR);
//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, datatList,
R.layout.list_item,
new String[] { TAG_GRPNAME, TAG_QNT, TAG_BUDGET, TAG_STOCK, TAG_DIFF, TAG_DIFF_P, },
new int[] {
R.id.l2, R.id.l3, R.id.l4, R.id.l5, R.id.l6, R.id.l7}){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_item, null);
}
text1 = (TextView) v.findViewById(R.id.l7);
HashMap<String, String> map=dataList.get(position);
map.get(TAG_COLOR);
String[] ARGB = COLOR.split(" ");
String V1=ARGB[0];
String V2=ARGB[1];
String V3=ARGB[2];
String V4=ARGB[3];
a=Integer.parseInt(V1);
r=Integer.parseInt(V2);
g=Integer.parseInt(V3);
b=Integer.parseInt(V4);
text1.setBackgroundColor(Color.rgb(r,g,b));
return super.getView(position, v, parent);
}
};
答案 0 :(得分:22)
最后我得到了回答
ListAdapter adapter = new SimpleAdapter(this, dataList,
R.layout.list_item,
new String[] { TAG_GRPNAME, TAG_QNT, TAG_BUDGET, TAG_STOCK, TAG_DIFF, TAG_DIFF_P, },
new int[] {
R.id.l2, R.id.l3, R.id.l4, R.id.l5, R.id.l6, R.id.l7}){
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.list_item, null);
}
text1 = (TextView) v.findViewById(R.id.l7);
String rgbColor= dataList.get(position).get(TAG_COLOR);
String[] ARGB = rgbColor.split(" ");
a=Integer.parseInt(ARGB[0]);
r=Integer.parseInt(ARGB[1]);
g=Integer.parseInt(ARGB[2]);
b=Integer.parseInt(ARGB[3]);
text1.setBackgroundColor(Color.rgb(r, g, b));
return super.getView(position, v, parent);
}
};