0
if (v.getId() == R.id.contact_btnNext) {
StringBuilder id = new StringBuilder();
String prefix = "";
for (Datamodel datamodel : mAdapter.arrSelectedModel) {
id.append(prefix).append(datamodel.getId());
prefix = ",";
}
使用此代碼我得到的所有ListView
這是其被選中,在ID未選中的值:如何獲得只有我在android中檢查過的id?
public class AdapterContactAddfriend extends BaseAdapter {
private Context context;
private ArrayList<Datamodel> arrModel;
public ArrayList<Datamodel> arrSelectedModel;
public ArrayList<Boolean> arrCheckboxState;
ViewHolder holder;
ImageLoader imageloader;
public AdapterContactAddfriend(Context context,
ArrayList<Datamodel> arrModel) {
this.context = context;
this.arrModel = arrModel;
arrCheckboxState = new ArrayList<Boolean>();
arrSelectedModel = new ArrayList<Datamodel>();
imageloader = new ImageLoader(context);
for (int i = 0; i < arrModel.size(); i++) {
arrCheckboxState.add(false);
}
}
@Override
public int getCount() {
return arrModel.size();
}
@Override
public Object getItem(int position) {
return arrModel.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
if (convertView == null) {
holder = new ViewHolder();
LayoutInflater mInflater = (LayoutInflater) context
.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
convertView = mInflater
.inflate(R.layout.row_contactaddfriend, null);
holder.checkBox = (CheckBox) convertView
.findViewById(R.id.rowcontact_checkbox);
convertView.setTag(holder);
} else
holder = (ViewHolder) convertView.getTag();
holder.txtContactName.setText(arrModel.get(position).contactName);
holder.checkBox
.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
int position = (Integer) buttonView.getTag();
if (isChecked) {
arrCheckboxState.set(position, true);
arrModel.get(position).setChecked(true);
arrSelectedModel.add(arrModel.get(position));
} else {
arrModel.get(position).setChecked(false);
arrCheckboxState.set(position, false);
arrSelectedModel.remove(arrModel.get(position));
}
}
});
return convertView;
}
}
這是我的適配器和我已boolean
值public ArrayList<Boolean> arrCheckboxState
進行檢查和未經檢查的價值,但我拿不到的地方正在做錯誤,請告訴我,因爲我得到的所有列表視圖項的ID的值,檢查id
價值,但我得僅選擇那些ID。
是的,我檢查它等待PLZ – Edge 2014-11-24 05:39:40
,但我沒有使用該代碼的位置@約翰 – Edge 2014-11-24 05:42:50
什麼?..然後這是什麼代碼arrCheckboxState.set(位置,真); arrModel.get(position).setChecked(true); arrSelectedModel.add(arrModel.get(position)); – John 2014-11-24 05:43:52