看板 AndroidDev 關於我們 聯絡資訊
前輩好,小弟遇到一個問題。 畫面大概是這樣 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://www.ptt.cc/bbs/AndroidDev/M.1525830652.A.7C8.html
LZN: 應該不是position的問題, viewholder是會重複使用 05/09 10:15
LZN: 使用前請先搖一搖..痾 請先reset(或覆蓋)view的狀態跟資訊 05/09 10:17
now99: 使用前用預設值覆蓋 05/09 11:01
sivle01: 不好意思,補充一下是新增項目超過第二頁後,再捲動才會 05/09 11:24
sivle01: 請問可以再多給我幾個關鍵字去google嗎?3q 05/09 11:27
gcobc12632: 寫個else setVisibility(View.VISIBLE) 試試? 05/09 11:32
evo1994: 應該是直接從你資料源移除才對吧! 05/09 12:17
evo1994: 還有就是樓上說的方式不過要把layout長寬設為1 05/09 12:18
evo1994: google csdn listview 隱藏某項item 05/09 12:19
t52101t: 寫else or 開頭先統一設為VISIBLE 05/09 13:02
sana113821: 先在最前面設定預設值 或是用if else 不能只用if 05/09 14:28
sana113821: if 是GONE 那else 就要設定VISIBLE 05/09 14:29
sivle01: 感謝大家,已解決開頭要先統一設為VISIBLE因為它會複用 05/09 16:56