1.RecyclerViewä¸notifyItemRemovedçä¸ä¸ªå
RecyclerViewä¸notifyItemRemovedçä¸ä¸ªå
碰å°è¿æ ·ä¸ä¸ªéæ±ï¼æä¸ä¸ªå ³æ³¨å表ï¼ç¹å»å表ä¸çå ³æ³¨æé®å¯ä»¥åæ¶å ³æ³¨ã
é¦å å表è¿ééæ©çæ¯RecyclerViewï¼å®ç°èµ·æ¥ä¹è¾ä¸ºç®åï¼å®ç°Adapterç»å®æ°æ®å°±å¯ä»¥äº
ä½æ¯åæ¶å ³æ³¨åéè¦å°è¯¥ç¨æ·ä»å表é移é¤ï¼ä¸ºäºä¸æ´ä½å·æ°ï¼æ以éæ©ä½¿ç¨notifyItemRemovedèä¸æ¯notifyDataSetChangedæ¹æ³ï¼å 为notifyItemRemovedä¸ä¼å é¤adapterä¸æ°æ®éä¸çå®çå ç´ ï¼å æ¤è¿éè¦è°ç¨ dataList.remove(i)
ä½æ¯æµè¯çæ¶ååç°äºä¸ä¸ªé®é¢ï¼
ç¹å»ç¬¬ä¸ä¸ªç¨æ·ï¼æåå é¤ï¼nice.
è¿æ¶ååæ¥ç第äºä¸ªç¨æ·æäºç¬¬ä¸ä¸ªç¨æ·ï¼æç §ä¹åçé»è¾ï¼è¿ä¸ªå°æ¹çpositionåºè¯¥æ¯0ãä½æ¯ï¼ç¹å»ä¹åå é¤çæ¯ç°å¨ç第äºä¸ªç¨æ·ï¼ä¹å°±æ¯è¯´positionæ¯1ã
ç½ä¸æç´¢ååç°ï¼å¨notifyItemRemovedè½ç¶ç§»é¤äºè§å¾ï¼ä½æ¯æ²¡æè¿è¡éæ°bindçè¿ç¨ï¼å æ¤positionè¿æ¯ä¹åçposition,源码linux 2.6 源码å æ¤éè¦è°ç¨notifyItemRangeChangedæ¹æ³æ¥åè¯åºç¨positionä½ç½®éè¦éæ°è®¡ç®
ä¸é¢ä¸æ®µæ¥èªRecyclerViewæºç ä¸ç注éï¼notifyItemRangeChangedæ¹æ³éè¦ä¸¤ä¸ªåæ°ï¼ç¬¬ä¸ä¸ªæ¥æå®ä»åªéå¼å§æ°æ®è¿è¡äºååï¼ç¬¬äºä¸ªåæ°éè¦æå®æ»å ±ååäºå¤å°ä¸ªæ°æ®ã
å¨æå¼å§æå°çéæ±ä¸ï¼positionStartåºè¯¥çäºè¦å é¤çé£ä¸ªæ°æ®çåæ ï¼itemCountåºè¯¥ä¸ºä»positionStartå¼å§å°æ°æ®å表æåï¼ä½æ¯ä¸ºäºæ¹ä¾¿å°±ç´æ¥å¡«getItemCount()æ´æ°æææ°æ®äº