如何通过在回收者视图中单击同一列表中的另一个项目来隐藏列表中的项目?

时间:2018-09-17 05:14:49

标签: android android-recyclerview

我在回收站视图中有一个元素列表,我需要通过单击同一列表中的特定元素来隐藏某些元素。例如,我的列表包含10个元素,我想通过单击第5位的元素来隐藏第6位的所有元素。我怎样才能做到这一点?

3 个答案:

答案 0 :(得分:1)

您必须从数据集中删除该元素并调用notifyOnDataSetChanged方法,否则可以使用boolean / hide show标志创建一个模型类,然后在项目单击侦听器上,可以相应地设置标志来删除/隐藏元素。

答案 1 :(得分:1)

Recyclerview对notifyDatasetChanged方法作出反应以重绘每个可见行。

尝试更改回收者视图的模型,然后notifyDatasetChanged

bindViewHolder(VH holder, int position){
   view.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            // Do you business to change data model in other position which   
            //identified whether the view must be visible or not

             notifyDataSetChanged();

        }
    });
}

答案 2 :(得分:0)

只需尝试一下...

 public void onBindViewHolder(final ViewHolder viewHolder,
                             final int position) {

    viewHolder.itemView.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

           // set your logic like this..

              if(position==5){
                if(list.size()>6){
                    list.remove(6);  // here list will be your data list.
                    notifyDataSetChanged();
                }
            }

        }
    });