ListView+CheckBox实现隐藏部分CheckBox

实现的效果:

ListView+CheckBox实现隐藏部分CheckBox_第1张图片

例子是这个博文的:http://blog.csdn.net/chenfuduo_loveit/article/details/42519449

在adapter中添加下面的代码即可:

		if (fruit.getName().equals("Apple")) {
			viewHolder.cb.setVisibility(View.INVISIBLE);
		}else {
			viewHolder.cb.setVisibility(View.VISIBLE);
		}

完整:

package com.example.uilistviewtest;

import java.util.List;

import android.content.Context;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.CheckBox;
import android.widget.ImageView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

public class FruitAdapter extends ArrayAdapter {

	private int resourceId;

	public FruitAdapter(Context context, int textViewResourceId,
			List objects) {
		super(context, textViewResourceId, objects);
		resourceId = textViewResourceId;
	}

	
	
	CursorAdapter ca;
	
	
	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		Fruit fruit = getItem(position);
		View view;
		ViewHolder viewHolder;
		if (convertView == null) {
			view = LayoutInflater.from(getContext()).inflate(resourceId, null);
			viewHolder = new ViewHolder();
			viewHolder.fruitImage = (ImageView) view.findViewById(R.id.fruit_image);
			viewHolder.fruitName = (TextView) view.findViewById(R.id.fruit_name);
			viewHolder.cb = (CheckBox) view.findViewById(R.id.cb);
			view.setTag(viewHolder);
		} else {
			view = convertView;
			viewHolder = (ViewHolder) view.getTag();
		}
		viewHolder.fruitImage.setImageResource(fruit.getImageId());
		viewHolder.fruitName.setText(fruit.getName());
		viewHolder.cb.setChecked(fruit.isChecked());
		
		
		if (fruit.getName().equals("Apple")) {
			viewHolder.cb.setVisibility(View.INVISIBLE);
		}else {
			viewHolder.cb.setVisibility(View.VISIBLE);
		}
		
		
		
		
		return view;
	}
	
	class ViewHolder {
		
		ImageView fruitImage;
		
		TextView fruitName;
		
		CheckBox cb;
		
	}

}




你可能感兴趣的:(android,develop,常用的技术和技巧)