Android ListView 根据条件让某行变色

Android ListView 根据条件让某行变色

 private class resultAdapter extends BaseAdapter{

        private Context context = ResultCountActivity.this;
        public resultAdapter(Context context) {
            this.context = context;
        }

        @Override
        public int getCount() {
            return tableItems==null?0:tableItems.size();
        }

        @Override
        public Object getItem(int i) {
            return tableItems.get(i);
        }

        @Override
        public long getItemId(int i) {
            return i;
        }

        @SuppressLint("ResourceAsColor")
        @Override
        public View getView(int i, View convertView, ViewGroup viewGroup) {
            ViewHolder mHolder;
            TaskItem taskItem= (TaskItem) getItem(i);
            if (convertView == null) {
                mHolder = new ViewHolder();
                LayoutInflater inflater = LayoutInflater.from(context);
                convertView = inflater.inflate(R.layout.table_item, null, true);
                mHolder.p_name = (TextView) convertView.findViewById(R.id.p_name);
                mHolder.p_no = (TextView) convertView.findViewById(R.id.p_no);
                mHolder.p_num = (TextView) convertView.findViewById(R.id.p_num);
                mHolder.s_name = (TextView) convertView.findViewById(R.id.s_name);

                //

                convertView.setTag(mHolder);
            } else {

                mHolder = (ViewHolder) convertView.getTag();
            }

			//if和else两种条件都要写上,不然会导致只有一种颜色
            if(taskItem.getScanDiffer()!=0){
                mHolder.p_name.setTextColor(Color.RED);
                mHolder.p_no.setTextColor(Color.RED);
                mHolder.p_num.setTextColor(Color.RED);
                mHolder.s_name.setTextColor(Color.RED);
            }else{

                mHolder.p_name.setTextColor(context.getResources().getColor(R.color.black_alpha_128));
                mHolder.p_no.setTextColor(context.getResources().getColor(R.color.black_alpha_128));
                mHolder.p_num.setTextColor(context.getResources().getColor(R.color.black_alpha_128));
                mHolder.s_name.setTextColor(context.getResources().getColor(R.color.black_alpha_128));
            }

            mHolder.p_name.setText(taskItem.getDescription());
            mHolder.p_no.setText(taskItem.getEanCode());
            mHolder.p_num.setText(taskItem.getScanNum()+"/"+taskItem.getInventory());
            mHolder.s_name.setText(taskItem.getScanDiffer()+"");
            return convertView;
        }

        class ViewHolder {
            private TextView p_name;
            private TextView p_no;
            private TextView p_num;
            private TextView s_name;
        }
    }

if和else两种条件都要写上,不然会导致只有一种颜色

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值