我在Adapter里面判断Position然后设置控件是否显示会显示错乱,请问有什么办法可以根据Position来设置控件是否显示。比如:我想在头和尾都显示一张图片,其他则不显示。
PHPz2017-04-17 17:37:20
XXX.setVisibility(position == XXX ? View.VISIBLE : View.GONE);
要帶else的執行,不然會錯亂,因為ListView和RecyclerView 都有復用機制,就是你用過的item 滑出螢幕一定距離後會重複使用來顯示新的數據,如果有某項不重新設定數據,會導致item 的數據是上一次的數據,造成數據錯亂。就是你設定了隱藏,就要設定顯示
伊谢尔伦2017-04-17 17:37:20
沒大看懂你的問題。 。 。
我覺得你可以重寫getItemViewType()方法和getItemCount()方法,在onBindViewHolder中控制。當position是0和最後時顯示圖片,其他情況顯示正確內容
這需要寫兩個viewHolder,一個是正常的展示數據的,另一個裡面只有一個ImageView