如何解决如何从BaseAdapter的Listview中选择所有/取消选择所有复选框
|| 我要选择全部/取消全部选择复选框。 这是我的代码。private class BaseAdpterSendToServer extends BaseAdapter{
String latti,calulationVal;
String longi;
String name;
public BaseAdpterSendToServer(Context context) {
layoutInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
return AndroidCamera.imagelistcount;
}
@Override
public Object getItem(int arg0) {
return arg0;
}
@Override
public long getItemId(int arg0) {
return arg0;
}
@Override
public View getView(int position,View convertView,ViewGroup arg2) {
viewHolder holder;
if(convertView==null){
holder = new viewHolder();
convertView =layoutInflater.inflate(R.layout.row_send_to_server,null);
holder.showImage = (ImageView)convertView.findViewById(R.id.imgView);
holder.txtCalulation = (TextView)convertView.findViewById(R.id.txtCalualtionVal);
holder.txtLatti = (TextView)convertView.findViewById(R.id.txtValLat);
holder.txtLongi = (TextView)convertView.findViewById(R.id.txtValLong);
holder.txtName = (TextView)convertView.findViewById(R.id.txtValName);
holder.checkBox = (CheckBox)convertView.findViewById(R.id.chkBox);
convertView.setTag(holder);
}
else{
holder =(viewHolder)convertView.getTag();
}
int pos = 0;
DBConnect d1 = new DBConnect(getApplicationContext(),\"colorCode.db\");
pos = position+1;
Cursor c = d1.selectedImageId(pos);
String path = c.getString(1);
calulationVal = c.getString(2);
String s= calulationVal.toString();
latti = c.getString(3);
longi = c.getString(4);
name = c.getString(5);
d1.close();
Bitmap b1 = BitmapFactory.decodeFile(path);
System.out.println(\"THE BITMAP ISK ----- \"+b1);
holder.showImage.setimageBitmap(b1);
holder.txtCalulation.setText(\"\"+s);
holder.txtLatti.setText(\"\"+latti);
holder.txtLongi.setText(\"\"+longi);
holder.txtName.setText(\"\"+name);
bt_f_unsel.setonClickListener(new OnClickListener() {
}
});
return convertView;
}
class viewHolder{
TextView txtCalulation,txtLatti,txtLongi,txtName;
ImageView showImage;
CheckBox checkBox;
}
任何帮助对我都会有好处。
解决方法
我的建议是仅创建一个按钮,该按钮将选择/取消选择所有复选框,而按钮的onClick则创建一个for循环来手动执行此操作。我不知道其他方式。
通常我们是这样的
for(int i=0; i < listView.getChildCount(); i++){
RelativeLayout itemLayout = (RelativeLayout)listView.getChildAt(i);
CheckBox cb = (CheckBox)itemLayout.findViewById(R.id.MyListViewCheckBox);
cb.setChecked(true);
希望对您有帮助。
, 您可以创建一个按钮,该按钮将遍历您的模型(您拥有的数据)并设置为false / true。然后您应该呼叫call2ѭ告诉视图更新屏幕
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。