如何自动选择所选项目之上的所有项目

时间:2017-05-04 10:14:05

标签: java android listview android-checkbox

我有一个带有可选项目的自定义列表视图。我正在尝试选择自动显示在我选择的项目上方的所有项目。 例如:假设列表视图中有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 个答案:

答案 0 :(得分:1)

在ListView上使用setOnItemClickListener,然后从0循环到方法中传递的位置并使用

listView.setItemChecked(index, true);