this
.list.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
public
String[] getCheckedItems() {
if
(list ==
null
) {
return
null
;
}
SparseBooleanArray spItems = list.getCheckedItemPositions();
String[] trigger =
new
String[list.getCheckedItemCount()];
int
j =
0
;
for
(
int
i =
0
; i < spItems.size(); i++) {
if
(spItems.get(i) ==
true
) {
int
pos = spItems.keyAt(i);
trigger[j++] = items[pos];
}
}
return
trigger;
}
class
DlgAdapter
extends
BaseAdapter {
@Override
public
int
getCount() {
return
items.length;
}
@Override
public
Object getItem(
int
position) {
return
null
;
}
@Override
public
long
getItemId(
int
position) {
return
position;
}
@Override
public
View getView(
final
int
position, View convertView, ViewGroup parent) {
ViewHolder holder;
if
(convertView ==
null
) {
convertView = inflate(layoutId);
holder =
new
ViewHolder();
holder.checked = (CheckedTextView) convertView.findViewById(R.id.checked);
convertView.setTag(holder);
}
else
{
holder = (ViewHolder)convertView.getTag();
}
holder.checked.setText(items[position]);
return
convertView;
}
}
<?xml version=
"1.0"
encoding=
"utf-8"
?>
android:id=
"@+id/checked"
android:layout_width=
"match_parent"
android:layout_height=
"65dp"
android:gravity=
"center_vertical"
android:paddingLeft=
"12dp"
android:paddingRight=
"20dp"
android:checkMark=
"?android:attr/textCheckMark"
android:textSize=
"20sp"
/>