我有一个奇怪的问题与我的复选框。在我的适配器中,我有一个TextView,一个ImageView和一个CheckBox。我已经实现了一个按钮来选择全部/全部取消选择,一切正常。问题是,当我选择一个复选框,如果我滚动列表有选择其他复选框(他们之间的距离是10),我不明白为什么。谁能帮我?问题与复选框
这里是我的适配器:
public class LazyAdapter extends BaseAdapter {
private Activity activity;
private String[] data;
private String[] nume;
private LayoutInflater inflater = null;
public ImageLoader imageLoader;
public LazyAdapter(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(),"Folder2");
}
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);
if (flag)
holder.ck.setChecked(true);
else
holder.ck.setChecked(false);
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;
}
}
什么是'flag'? – pawelzieba
标志是一个布尔值。我用它为全选/ deselectall按钮:selectall.setOnClickListener(新OnClickListener(){ \t \t \t公共无效的onClick(视图v){ \t \t \t \t字符串的txt = TEXT按钮(); \t \t \t \t如果(TXT .equals( “全选”)){ \t \t \t \t \t标志=真; \t \t \t \t \t selectall.setText( “取消全”); \t \t \t \t}否则{ \t \t \t \t \t标志=假; \t \t \t \t \t selectall。setText(“全选”); \t \t \t \t} \t \t \t \t的getData(); \t \t \t} \t \t}); – Gabrielle
好的,你接受了不正确的答案:) – pawelzieba