【问题标题】:RecyclerView items select and deselectRecyclerView 项目选择和取消选择
【发布时间】:2019-09-03 07:14:46
【问题描述】:

我在 RecyclerView 中有 4 个项目,当我选择第 4 个项目取消选择其他选项时,我如何才能使它成为可能,当我选择其他 3 个中的任何一个时,然后选择的第 4 个选项将在 android RecyclerView 中取消选择

 viewHolder.view.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if(gridItem.isSelectedItem() == false && gridItem.getProblemReason().equals("None of the Above")){
                Glide.with(mContext).load((R.drawable.ic_redcross))
                        .diskCacheStrategy(DiskCacheStrategy.ALL).skipMemoryCache(true)
                        .into(viewHolder.iv_selection);
                if (gridItem.getKey() != null) {
                    stringArrayList.clear();
                    stringArrayList.add(gridItem.getKey());
                }
                gridItem.setSelectedItem(true);
            }
            else {
                Glide.with(mContext).load(((int) gridItem.getProblemImgSelection()))
                        .diskCacheStrategy(DiskCacheStrategy.ALL).skipMemoryCache(true)
                        .into(viewHolder.iv_selection);
                if (gridItem.getKey() != null) {
                    stringArrayList.remove(gridItem.getKey());
                }
                gridItem.setSelectedItem(false);
            }

【问题讨论】:

标签: android arraylist android-recyclerview


【解决方案1】:

你需要创建 arraylist 来选择对象 boolean 当您选择项目时,使其在 arraylist 中为 true,而另一个项目为 false 并且 notfy 已更改 if(arrayliast.get(possion)=true){ 代码 } 别的{ 代码 }

【讨论】:

    【解决方案2】:

    在你的适配器类中声明变量, int prevPosition = -1; 在 onBindView 方法中,

    if (prevPosition == position) {
        // set background for selected item 
    }
    else {
        // set background for not selected item
    }
    

    在持有者点击时,

    `prevPosition = position;` 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-10-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多