亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

Android用RecyclerView實現圖標拖拽排序以及增刪管理

瀏覽:2日期:2022-09-20 15:18:05
1. 效果圖

Android用RecyclerView實現圖標拖拽排序以及增刪管理

2. 基本的功能

在非編輯狀態下可以直接點擊圖標進行跳轉在編輯狀態可以拖拽、添加、刪除操作已被添加過的不能再次添加

3. 實現的思路

用兩個RecyclerView實現,同時維護兩個數據源,上部是常用應用,最多可以放8個;下部是全部應用。

1. 每個應用圖標的狀態用枚舉Option表示

// 當前的操作狀態enum class Option { ADD, REMOVE, NONE}2. 在處于編輯狀態時創建ItemTouchHelper對象并attch到RecyclerView上

if (enable) { itemTouchHelper.attachToRecyclerView(binding.rvApps)}

其中,在實現ItemTouchHelper.Callback接口的onMove() 函數中,此時表示用戶已經抬手,而圖標位置已經發生了變動,此時將界面上圖標的順序同步回Adapter的數據源中:

val newData = mutableListOf<Pair<String, Int>>()commonAppsAdapter.data.forEachIndexed { index, _ -> val holder = recyclerView.findViewHolderForAdapterPosition(index) as AppsHolder newData.add(Pair(holder.funcUrl, index))}for (i in newData) { val sameFuncIndex = commonAppsAdapter.data.indexOfFirst { i.first == it.uid } Collections.swap(commonAppsAdapter.data, i.second, sameFuncIndex)}3. 當應用圖標從上部被刪除時,需要將其添加到下部,并將其重新設為可添加狀態

commonAppsAdapter.onRemoveBtnClickListener = object : OnRemoveBtnClickListener { override fun onClick(view: View, appBean: AppBean) { val theSameElementIndex = allAppsAdapter.data.indexOfFirst { it.uid == appBean.uid } if (theSameElementIndex < 0) return allAppsAdapter.data[theSameElementIndex].option = AppBean.Companion.Option.ADD allAppsAdapter.notifyItemChanged(theSameElementIndex) }}

源碼請前往Github

以上就是Android用RecyclerView實現圖標拖拽排序以及增刪管理的詳細內容,更多關于Android 實現圖標拖拽排序以及增刪管理的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 岛国视频在线观看免费播放 | 欧美性色xo影院69 | 久久99精品久久久久久园产越南 | 国产免费自拍 | 国产成人精品一区二三区2022 | 国产福利一区二区三区在线观看 | 日韩精品永久免费播放平台 | 国产精品免费久久久久影院 | 欧美乱码| 日韩欧美一级毛片在线 | ccmm123在线播放| 欧美日韩a | 亚洲伦理中文字幕一区 | 亚洲1卡2卡三卡3卡4卡网站 | 微拍秒拍99福利精品小视频 | 国产日韩中文字幕 | 多人性活动 | 国产精品国产三级在线专区 | 伊人99在线观看 | 综综综综合网 | 黄色短视频免费 | 麻豆成人传媒一区二区 | 久草综合在线观看 | 五月天婷婷网站 | 欧美一区二区手机在线观看视频 | 中国人免费观看高清在线观看二区 | 欧美5g影院天天爽天天看 | 精品久久久久国产免费 | 欧美视频一区二区 | 国产成人亚洲毛片 | 全黄毛片| 最近中文日本字幕免费完整 | 在线观看欧美一区 | 美女黄色在线观看 | 啪啪综合网| 日韩在线视精品在亚洲 | 96视频网站 | 精品午夜寂寞影院在线观看 | 日本乱理伦中文三区 | 成人午夜国产福到在线不卡 | 香蕉毛片|