20191109_2 - Android,隐藏recyclerView中的item

本文介绍了如何在Android中动态地根据业务逻辑隐藏RecyclerView的item。通过在Adapter中设定item的可见性,并在onBindViewHolder中进行判断。当任务完成且选定隐藏已完成任务时,任务项将不可见。为实现真正的GONE状态,需将父布局设为wrap_content,并在外层添加一个FrameLayout包裹。当选择隐藏时,任务项将完全消失并释放空间。
摘要由CSDN通过智能技术生成

1. view adapter中可以由外部动态的设定item是否可见:

public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.ViewHolder> {

.......

    private boolean isFinishedShown = true;

.......

    public void hideFinish() {
        isFinishedShown = false;
        notifyDataSetChanged();
    }

    public void showFinish() {
        isFinishedShown = true;
        notifyDataSetChanged();
    }

2. 在onBindViewHolder方法中通过if判断设置每个项目是否可见:

    @Override
    public void onBindViewHolder(ViewHolder holder, int position) {
        Task task = mTaskList.get(position);
        ......
        if((!isFinishedShown) && task.isTaskFinished()) {
            holder.linearLayout.setVisibility(View.GONE);
        } else {
            holder.linearLayout.setVisibility(View.VISIBLE);
        }
    }

我这里的业务逻辑是“如果选定了完成不可见,并且task是已经完成的,那么task不可见”

这样设置之后,不

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值