Как автоматически выбрать все элементы выше выбранного
У меня есть настраиваемый вид списка с выбираемыми элементами. И я пытаюсь выбрать все элементы, автоматически присутствующие выше выбранного. Например: предположим, что в представлении списка 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);
}
}
1 ответ
Использование setOnItemClickListener
на вашем ListView, затем цикл от 0 до позиции, переданной в методе и использовать
listView.setItemChecked(index, true);