控制ListView(RecyclerView)中Adapter中的控件的显示和隐藏

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/willba/article/details/72599865

在实际开发中,我们通常会遇到,通过外面的控件去控制Adapter里面的删除按钮的显示或隐藏:
先看效果图:

这里写图片描述

这里写图片描述

大致情况是这样的:正常情况,出现管理字体时,Adapter中的删除图标是隐藏的;当点击管理的时候,管理字样变成取消,同时删除图标出现;当再次取消时,取消字样变成管理,同时删除图标隐藏!

思路:在activity中,定义一个boolean变量A,控制取消和管理之间的变化,同时在adapter中也定义一个变量B,由变量B去控制图标的隐藏和显示,最后由A变量控制B变量:

上主要代码:
第一步:Activity之间的代码

//定义一个变量,默认值是false
private boolean isManager;
        //text为管理或取消的字体
        mTextView6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                isManager = ! isManager;
                mTextView6.setText(isManager?"取消":"管理");
                //为自定义方法--控制另外一个变量
                mAdapter.changetShowDelImage(isManager);
            }
        });

第二步:Adapter之间的代码

//定义变量isShow去接收变量isManager,使得变量isManager控制isShow

private boolean isShow;
    //改变显示删除的imageview,通过定义变量isShow去接收变量isManager
    public void changetShowDelImage(boolean isShow) {
        this.isShow = isShow;
        notifyDataSetChanged();
    }

//通过isShow去控制图标的显示

if(isShow) {
            mViewHodler.delete.setVisibility(View.VISIBLE);
        }else {
            mViewHodler.delete.setVisibility(View.GONE);
        }

重点代码就是上面的了!布局及其他无关紧要的就不贴了
以上,

展开阅读全文

没有更多推荐了,返回首页