android的listview隔行选中,listView隔行换色多选

参照网上相关文章写了下listview隔行换色与多选

1.item_fg_seclib.xml

android:layout_width="match_parent"

android:layout_height="wrap_content"

>

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:minHeight="40dp"

android:gravity="center_vertical"

>

android:layout_width="0dp"

android:layout_weight="1"

android:layout_height="match_parent"

android:gravity="center_vertical"

>

android:id="@+id/itemCbox"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:textColor="@color/blue"

android:text=""

/>

android:id="@+id/itemName"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:gravity="left"

android:text="@string/pro_name"

android:textColor="@color/blue"/>

android:id="@+id/itemSn"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:text="@string/pro_Bid"

android:layout_weight="1"

android:gravity="center"

android:textColor="@color/blue"/>

android:id="@+id/itemStatus"

android:layout_width="0dp"

android:layout_height="wrap_content"

android:text="@string/status"

android:layout_weight="1"

android:gravity="right"

android:paddingRight="@dimen/h8"

android:textColor="@color/blue"/>

2.SecUpLoadAdapter:

public class SecUpLoadAdapter extends BaseAdapter {

private Context context;

private ArrayList list;

private static HashMap isSelected;

class Viewholder{

CheckBox itemCbox;

TextView itemName;

TextView itemSn;

TextView itemStatus;

}

public SecUpLoadAdapter(Context context,ArrayList list){

this.context=context;

this.list=list;

isSelected=new HashMap();

initData();

}

private void initData() {

for (int i = 0; i < list.size(); i++) {

getIsSelected().put(i, false);

}

}

@Override

public int getCount() {

return list.size();

}

@Override

public ProductItemInfo getItem(int arg0) {

return list.get(arg0);

}

@Override

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return 0;

}

@Override

public View getView(final int position, View convertView, ViewGroup viewGroup) {

Viewholder holder=null;

ProductItemInfo productItemInfo=list.get(position);

if(convertView==null){

convertView=View.inflate(context, R.layout.item_fg_seclib,null);

holder=new Viewholder();

holder.itemCbox=(CheckBox)convertView.findViewById(R.id.itemCbox);

holder.itemSn=(TextView)convertView.findViewById(R.id.itemSn);

holder.itemStatus=(TextView)convertView.findViewById(R.id.itemStatus);

convertView.setTag(holder);

}else{

holder=(Viewholder) convertView.getTag();

}

holder.itemCbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton arg0, boolean arg1) {

getIsSelected().put(position,arg0.isChecked());

notifyDataSetChanged();

}

});

if(position%2==1){

convertView.setBackgroundColor(context.getResources().getColor(R.color.gray_verylight));

}else{

convertView.setBackgroundColor(context.getResources().getColor(R.color.white));

}

holder.itemCbox.setChecked(getIsSelected().get(position));

String status=null;

if(productItemInfo.getStatus()==false){

status = context.getResources().getString(R.string.un_upload);

}else{

status=context.getResources().getString(R.string.upload);

}

holder.itemStatus.setText(status);

return convertView;

}

public static HashMap getIsSelected() {

return isSelected;

}

public static void setIsSelected(HashMap isSelected) {

SecUpLoadAdapter.isSelected = isSelected;

}

/**

* 设置取消或全选

* @param flag

*/

public void setOptionAll(boolean flag){

for (int i = 0; i < isSelected.size(); i++) {

isSelected.put(i, flag);

}

notifyDataSetChanged();

}

}

3.Activity里调用

cbCheckAll=(CheckBox)rootView.findViewById(R.id.secLibCbox);

ArrayList data=new ArrayList();

for (int i = 0; i < 1000; i++) {

ProductItemInfo info=new ProductItemInfo();

info.setId(i);

info.setName("商品"+i);

info.setSelected(false);

info.setSn("1000"+i);

if(i%2==1){

info.setStatus(false);

}else{

info.setStatus(true);

}

data.add(info);

}

adapter = new SecUpLoadAdapter(ac, data);

ArrayAdapter adapter2=new ArrayAdapter(ac, android.R.layout.simple_list_item_1,data2);

unUploadLv.setAdapter(adapter);

cbCheckAll.setOnCheckedChangeListener(new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton arg0, boolean arg1) { adapter.setOptionAll(arg0.isChecked()); } });

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值