我成功实施了显示AlertDialog
custom-styled-row
CheckedTextViews
的{{1}}。选择项目时会出现问题。最后,订单将根据他们在ListView
中的位置来确定。如果用户从列表底部选择一个项目,然后从顶部选择一个项目,Dialog's
OnClickListener
给出的答案将从顶部一个而不是从底部一个开始。有没有办法点击这些项目?
以下是我检索已检查项目的实现:
private void setCheckedItems(){
SparseBooleanArray checkedItems = listView.getCheckedItemPositions();
if (checkedItems != null) {
for (int i = 0; i<checkedItems.size(); i++) {
if (checkedItems.valueAt(i)) {
mSelectedItems.add(tables[checkedItems.keyAt(i)]);
}
}
}
}
注意:我尝试通过调用OnItemClickListener
上的ListView
来避免此问题,但是位置长于屏幕空间的项目也开始被检查。所以,最后我使用了listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
而不是点击监听器。
非常感谢。