如何选择/取消选择所有复选框? [英] How to select/deselect all checkBox?
本文介绍了如何选择/取消选择所有复选框?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个ImageView的,一个TextView和一个复选框和一个按钮,选择所有的复选框全选的适配器。我搜索了很多关于我如何能做到这一点(选择全部复选框),但没有奏效。任何人能解释更多的我该怎么办?请...我必须做这个紧急
下面是我的适配器:
公共类LazyAdapter1扩展了BaseAdapter {
私人活动的活动;
私有String []的数据;
私有String [] nume;
私人LayoutInflater充气= NULL;
公共ImageLoader的ImageLoader的;
公共LazyAdapter1(活动一,的String [] D,的String [] F){
活性= A;
数据= D;
nume = F;
充气=(LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
ImageLoader的=新ImageLoader的(activity.getApplicationContext());
}
公众诠释getCount将(){
返回data.length;
}
公共对象的getItem(INT位置){
返回的位置;
}
众长getItemId(INT位置){
返回的位置;
}
公共类ViewHolder {
公共TextView的文字;
公众ImageView的形象;
公开复选框CK;
}
公共查看getView(INT位置,查看convertView,ViewGroup中父){
查看VI = convertView;
ViewHolder持有人;
如果(convertView == NULL){
VI = inflater.inflate(R.layout.item,NULL);
持有人=新ViewHolder();
holder.text =(TextView中)vi.findViewById(R.id.text);;
holder.image =(ImageView的)vi.findViewById(R.id.image);
holder.ck =(复选框)vi.findViewById(R.id.chkbox);
vi.setTag(保持器);
}
其他
支架=(ViewHolder)vi.getTag();
holder.text.setText(nume [位置]);
holder.image.setTag(数据[位置]);
imageLoader.DisplayImage(数据[位置],活动,holder.image);
返回六;
}
}
在此先感谢。
解决方案
布尔标志= TRUE;
现在您按一下按钮 交换标记值
标志=标志!;
adapter.notifydatasetchanged();
现在在getView方法
公开查看getView(INT位置,查看convertView,ViewGroup中父){
查看VI = convertView;
ViewHolder持有人;
如果(convertView == NULL){
VI = inflater.inflate(R.layout.item,NULL);
持有人=新ViewHolder();
holder.text =(TextView中)vi.findViewById(R.id.text);
holder.image =(ImageView的)vi.findViewById(R.id.image);
holder.ck =(复选框)vi.findViewById(R.id.chkbox);
vi.setTag(保持器);
} 其他 {
支架=(ViewHolder)vi.getTag();
}
holder.ck.setChecked(标志);
holder.text.setText(nume [位置]);
holder.image.setTag(数据[位置]);
imageLoader.DisplayImage(数据[位置],活动,holder.image);
返回六;
}
I have an adapter with an imageview,a textView and a Checkbox and a button "Select all" for selecting all the checkbox. I searched a lot about how can I do this (select all checkbox) but it not worked. Can anyone explain more what should I do? Please...I have to do this urgent
Here is my adapter :
Public class LazyAdapter1 extends BaseAdapter {
private Activity activity;
private String[] data;
private String[] nume;
private LayoutInflater inflater=null;
public ImageLoader imageLoader;
public LazyAdapter1(Activity a, String[] d, String[] f) {
activity = a;
data=d;
nume=f;
inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
imageLoader=new ImageLoader(activity.getApplicationContext());
}
public int getCount() {
return data.length;
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public class ViewHolder{
public TextView text;
public ImageView image;
public CheckBox ck;
}
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
vi = inflater.inflate(R.layout.item, null);
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.text);;
holder.image=(ImageView)vi.findViewById(R.id.image);
holder.ck=(CheckBox)vi.findViewById(R.id.chkbox);
vi.setTag(holder);
}
else
holder=(ViewHolder)vi.getTag();
holder.text.setText(nume[position]);
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
}
Thanks in advance.
解决方案
boolean flag = true;
Now on your button click swap the value of flag
flag = !flag;
adapter.notifydatasetchanged();
Now in your getView method
public View getView(int position, View convertView, ViewGroup parent) {
View vi = convertView;
ViewHolder holder;
if (convertView == null) {
vi = inflater.inflate(R.layout.item, null);
holder = new ViewHolder();
holder.text = (TextView) vi.findViewById(R.id.text);
holder.image = (ImageView) vi.findViewById(R.id.image);
holder.ck = (CheckBox) vi.findViewById(R.id.chkbox);
vi.setTag(holder);
} else {
holder = (ViewHolder) vi.getTag();
}
holder.ck.setChecked(flag);
holder.text.setText(nume[position]);
holder.image.setTag(data[position]);
imageLoader.DisplayImage(data[position], activity, holder.image);
return vi;
}
这篇关于如何选择/取消选择所有复选框?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文