控制ListView(RecyclerView)中Adapter中的控件的显示和隐藏
程序员文章站
2022-06-19 19:37:38
...
在实际开发中,我们通常会遇到,通过外面的控件去控制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);
}
重点代码就是上面的了!布局及其他无关紧要的就不贴了
以上,
上一篇: 二级连动的另一个不错的实现方法
下一篇: 漂亮的提示信息(带箭头)