Как автоматически выбрать все элементы выше выбранного

У меня есть настраиваемый вид списка с выбираемыми элементами. И я пытаюсь выбрать все элементы, автоматически присутствующие выше выбранного. Например: предположим, что в представлении списка 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);
Другие вопросы по тегам