作者:
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
寫個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
先在最前面設定預設值 或是用if else 不能只用ifif 是GONE 那else 就要設定VISIBLE
作者:
sivle01 (好耶,好運還沒走!)
2018-05-09 16:56:00感謝大家,已解決開頭要先統一設為VISIBLE因為它會複用