欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-19 19:37:38
...

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

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

控制ListView(RecyclerView)中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);
        }

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