public
class
CheckBoxAdapter4TextNote
extends
SimpleCursorAdapter
{
private
ArrayList<Integer> selection =
new
ArrayList<Integer>();
private
int
mCheckBoxId =
0
;
private
String mIdColumn;
public
CheckBoxAdapter4TextNote(Context context,
int
layout, Cursor c,
String[] from,
int
[] to,
int
checkBoxId, String idColumn,
int
flags)
{
super
(context, layout, c, from, to, flags);
mCheckBoxId = checkBoxId;
mIdColumn = idColumn;
}
@Override
public
int
getCount()
{
return
super
.getCount();
}
@Override
public
Object getItem(
int
position)
{
return
super
.getItem(position);
}
@Override
public
long
getItemId(
int
position)
{
return
super
.getItemId(position);
}
@Override
public
View getView(
final
int
position, View convertView,
ViewGroup parent)
{
View view =
super
.getView(position, convertView, parent);
final
CheckBox checkbox = (CheckBox) view.findViewById(mCheckBoxId);
checkbox.setOnClickListener(
new
OnClickListener()
{
@Override
public
void
onClick(View v)
{
Cursor cursor = getCursor();
cursor.moveToPosition(position);
checkbox.setChecked(checkbox.isChecked());
if
(checkbox.isChecked())
{
selection.add(cursor.getInt(cursor.getColumnIndex(mIdColumn)));
}
else
{
selection.remove(
new
Integer(cursor.getInt(cursor.getColumnIndex(mIdColumn))));
Toast.makeText(context,
"has removed "
+ cursor.getInt(cursor.getColumnIndex(mIdColumn)),
0
).show();
}
}
});
return
view;
}
/返回集合
public
ArrayList<Integer> getSelectedItems()
{
return
selection;
}
}