[问题] 请问如何隐藏RecyclerView前三的按钮

楼主: sivle01 (好耶,好运还没走!)   2018-05-09 09:50:49
前辈好,小弟遇到一个问题。
画面大概是这样
AAAAA 修改
BBBBB 修改
CCCCC 修改
DDDDD 删除 修改
EEEEE 删除 修改
想把RecyclerView前三个选项的特定按钮除藏
在adapter里这样写
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (position <3) {
holder.btnRemove.setVisibility(View.GONE);
}
}
但发现超过一页后会有问题
卷动时,position会重算,变成第二页的前三也会隐藏了
请问有人可以提示我正确的做法吗?
谢谢~~~ <(_ _)>
作者: LZN (秋)   2018-05-09 10:15:00
应该不是position的问题, viewholder是会重复使用使用前请先摇一摇..疴 请先reset(或覆蓋)view的状态跟资讯
作者: now99 (陈在天)   2018-05-09 11:01:00
使用前用默认值覆蓋
楼主: sivle01 (好耶,好运还没走!)   2018-05-09 11:24:00
不好意思,补充一下是新增项目超过第二页后,再卷动才会请问可以再多给我几个关键字去google吗?3q
作者: gcobc12632 (Ted)   2018-05-09 11:32:00
写个else setVisibility(View.VISIBLE) 试试?
作者: evo1994 (Evo)   2018-05-09 12:17:00
应该是直接从你资料源移除才对吧!还有就是楼上说的方式不过要把layout长宽设为1google csdn listview 隐藏某项item
作者: t52101t (五子棋)   2018-05-09 13:02:00
写else or 开头先统一设为VISIBLE
作者: sana113821 (蜂蜜红茶)   2018-05-09 14:28:00
先在最前面设定默认值 或是用if else 不能只用ifif 是GONE 那else 就要设定VISIBLE
楼主: sivle01 (好耶,好运还没走!)   2018-05-09 16:56:00
感谢大家,已解决开头要先统一设为VISIBLE因为它会复用

Links booklink

Contact Us: admin [ a t ] ucptt.com