作者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/m.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