本指南将指导您如何在 Android RecyclerView 适配器中根据 ID 选中内容。通过添加一个方法来查找具有特定 ID 的项,并将该项标记为选中状态,您可以轻松实现选择功能。

要根据 ID 选中 ScrkcheckItemAdapter 中的项,可以按以下步骤操作:

  1. ScrkcheckItemAdapter 中添加一个方法,该方法接受一个 ID 参数,并在适配器中查找具有该 ID 的项。
  2. 如果项被找到,将其标记为选中状态并通知适配器数据已更改。
  3. 在调用该方法时,将要选中的项的 ID 作为参数传递。

下面是一个可能的实现:

public class ScrkcheckItemAdapter extends RecyclerView.Adapter<ScrkcheckItemAdapter.ScrkcheckItemViewHolder> {
    private List<ScrkcheckItem> mScrkcheckItems;
    private int mSelectedItemId = -1;

    // 构造函数和其他方法省略

    public void selectItemById(int id) {
        for (int i = 0; i < mScrkcheckItems.size(); i++) {
            ScrkcheckItem item = mScrkcheckItems.get(i);
            if (item.getId() == id) {
                // 找到了要选中的项
                if (mSelectedItemId != id) {
                    // 如果该项之前未被选中,将其标记为选中状态
                    int previousSelectedPosition = getSelectedPosition();
                    mSelectedItemId = id;
                    notifyItemChanged(i);
                    if (previousSelectedPosition >= 0) {
                        // 如果之前有选中的项,将其标记为未选中状态
                        notifyItemChanged(previousSelectedPosition);
                    }
                }
                break;
            }
        }
    }

    private int getSelectedPosition() {
        for (int i = 0; i < mScrkcheckItems.size(); i++) {
            if (mScrkcheckItems.get(i).getId() == mSelectedItemId) {
                return i;
            }
        }
        return -1;
    }

    // ViewHolder和其他方法省略
}

在上面的代码中,我们添加了一个 selectItemById 方法,它接受一个 ID 参数,并在适配器中查找具有该 ID 的项。如果找到了该项,我们将其标记为选中状态并通知适配器数据已更改。如果该项之前有被选中的项,我们将其标记为未选中状态。最后,我们使用 getSelectedPosition 方法来查找当前选中项的位置。如果找不到选中项,则返回 -1。在 ViewHolder 中,我们根据选中状态设置相应的背景颜色。

可以在 Activity 或 Fragment 中调用 selectItemById 方法来选中项。例如:

mAdapter.selectItemById(id);
Android RecyclerView 适配器 - 根据 ID 选中内容

原文地址: http://www.cveoy.top/t/topic/nyfT 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录