作者sivle01 (好耶,好运还没走!)
看板AndroidDev
标题[问题] 请问如何隐藏RecyclerView前三的按钮
时间Wed May 9 09:50:49 2018
前辈好,小弟遇到一个问题。
画面大概是这样
AAAAA 修改
BBBBB 修改
CCCCC 修改
DDDDD 删除 修改
EEEEE 删除 修改
想把RecyclerView前三个选项的特定按钮除藏
在adapter里这样写
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
if (position <3) {
holder.btnRemove.setVisibility(View.GONE);
}
}
但发现超过一页後会有问题
卷动时,position会重算,变成第二页的前三也会隐藏了
请问有人可以提示我正确的做法吗?
谢谢~~~ <(_ _)>
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 118.163.225.229
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1525830652.A.7C8.html
1F:→ LZN: 应该不是position的问题, viewholder是会重复使用 05/09 10:15
2F:→ LZN: 使用前请先摇一摇..痾 请先reset(或覆盖)view的状态跟资讯 05/09 10:17
3F:推 now99: 使用前用预设值覆盖 05/09 11:01
4F:→ sivle01: 不好意思,补充一下是新增项目超过第二页後,再卷动才会 05/09 11:24
5F:→ sivle01: 请问可以再多给我几个关键字去google吗?3q 05/09 11:27
6F:→ gcobc12632: 写个else setVisibility(View.VISIBLE) 试试? 05/09 11:32
7F:推 evo1994: 应该是直接从你资料源移除才对吧! 05/09 12:17
8F:→ evo1994: 还有就是楼上说的方式不过要把layout长宽设为1 05/09 12:18
9F:→ evo1994: google csdn listview 隐藏某项item 05/09 12:19
10F:推 t52101t: 写else or 开头先统一设为VISIBLE 05/09 13:02
11F:推 sana113821: 先在最前面设定预设值 或是用if else 不能只用if 05/09 14:28
12F:→ sana113821: if 是GONE 那else 就要设定VISIBLE 05/09 14:29
13F:→ sivle01: 感谢大家,已解决开头要先统一设为VISIBLE因为它会复用 05/09 16:56