java - 如何自动选择所选项目上方的所有项目

标签 java android listview android-checkbox

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

    }
}

最佳答案

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

listView.setItemChecked(index, true);

关于java - 如何自动选择所选项目上方的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43780029/

相关文章:

java - ModelClass.class.getDeclaredFields().length 在 Gradle Build 期间返回 4 但有 3 个声明的属性

java 运算符与 boolean 操作数互斥

Java StringUtils.stripEnd 带有句点、连字符或下划线

android - 水平滑动不同的 ListView

android - 将新项目插入 MySQL 后刷新 ListView

Java多线程 - 一个线程在另一个线程之前两次进入临界区

Android:在没有 Google API 的情况下在 Google 帐户中使用 OAuth2 进行身份验证

android - 如何将隐私政策添加到我的应用程序中,而不仅仅是在商品详情中

java - Gradle的播放服务非常慢:8.4.0

android - SwipeRefreshLayout 干扰 setOnScrollListener