2011-08-23 24 views
0

我填补这样的列表视图给出如下需要获得基于行的列表视图中的彩色有条件

cursor = manifest_helper.GetDeliveriesAgainstManifest(pkManifest); 
cursor.moveToFirst(); 

for (int i = 0; i < cursor.getCount(); i++) { 

    map = new HashMap<String, String>(); 
    map.put("Deliv_Address", 
      cursor.getString(cursor.getColumnIndex("Address"))); 
    map.put("Deliv_Time", 
      cursor.getString(cursor.getColumnIndex("Time"))); 
    map.put("Deliv_Order", 
      cursor.getString(cursor.getColumnIndex("DeliveryOrder"))); 
    map.put("Deliv_IsCustomerPickup", 
      cursor.getString(cursor.getColumnIndex("IsCustomerPickup"))); 
    map.put("Deliv_FKDeliveryStatus", 
      cursor.getString(cursor.getColumnIndex("FKDeliveryStatus"))); 
    map.put("Deliv_PKDelivery", 
      cursor.getString(cursor.getColumnIndex("PKDelivery"))); 
    alist.add(map); 
    cursor.moveToNext(); 

} 
sd = new SimpleAdapter(this, alist, R.layout.deliveries_list_row, 
     new String[] { "Deliv_Address", "Deliv_Time", 
       "Deliv_Order", "Deliv_IsCustomerPickup", 
       "Deliv_FKDeliveryStatus", "Deliv_PKDelivery" }, 
     new int[] { R.id.tv_Deliv_Address, R.id.tv_Deliv_Time, 
       R.id.tv_Deliv_Order, 
       R.id.tv_Deliv_IsCustomerPickup, 
       R.id.tv_Deliv_FKDeliveryStatus, 
       R.id.tv_Deliv_PKDelivery }); 
//selectedAdapter = new SelectedAdapter(this, 0, alist); 
//selectedAdapter.setNotifyOnChange(true); 

ListDeliveries.setAdapter(sd); 

的问题是,现场Deliv_IsCustomerPickup具有值在每行CO

我想区分每个CO与行不同的颜色,即一个C与有红色和一个与O需要有蓝色

+0

接受某些问题的答案。 – darma

回答

0

使用ViewBinder.setViewValue()放置你的条件。从这里你拥有对列表UI的完全访问权限。

您setViewValue一些伪代码:

if(your_condition) { 
    SomeLayout layout = (SomeLayout) view.getParent(); 
    layout.setBackground(...); 
} 
return false; // let the system put values in the View objects. 
相关问题