我有一个带有可选项目的自定义列表视图。我正在尝试选择自动显示在我选择的项目上方的所有项目。 例如:假设列表视图中有10个项目,我选择了第5个,那么它应该选择5日以上的所有项目。即(1,2,3,4)。
我怎么能这样做?有人请帮助。我已经浪费了1天。
public void onClick(View v) {
if (v == done) {
SparseBooleanArray checked = listView.getCheckedItemPositions();
ArrayList<String> selectedItems = new ArrayList<String>();
for (int i = 0; i < checked.size(); i++) {
// Item position in adapter
int position = checked.keyAt(i);
listView.setItemChecked(position, true);
// Add sport if it is checked i.e.) == TRUE!
if (checked.valueAt(i))
selectedItems.add(adapter.getItem(position));
}
String[] outputStrArr = new String[selectedItems.size()];
for (int i = 0; i < selectedItems.size(); i++) {
outputStrArr[i] = selectedItems.get(i);
}
Intent intent = new Intent(getApplicationContext(),
MyBookings.class);
// Create a bundle object
Bundle b = new Bundle();
b.putStringArray("selectedItems", outputStrArr);
// Add the bundle to the intent.
intent.putExtras(b);
// start the ResultActivity
startActivity(intent);
}
}
答案 0 :(得分:1)
在ListView上使用setOnItemClickListener
,然后从0循环到方法中传递的位置并使用
listView.setItemChecked(index, true);