欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android用RecyclerView實(shí)現(xiàn)圖標(biāo)拖拽排序以及增刪管理

 更新時(shí)間:2021年03月17日 10:18:21   作者:Joehaivo飛羽  
這篇文章主要介紹了Android用RecyclerView實(shí)現(xiàn)圖標(biāo)拖拽排序以及增刪管理的方法,幫助大家更好的理解和學(xué)習(xí)使用Android,感興趣的朋友可以了解下

1. 效果圖

2. 基本的功能

在非編輯狀態(tài)下可以直接點(diǎn)擊圖標(biāo)進(jìn)行跳轉(zhuǎn)
在編輯狀態(tài)可以拖拽、添加、刪除操作
已被添加過的不能再次添加

3. 實(shí)現(xiàn)的思路

用兩個(gè)RecyclerView實(shí)現(xiàn),同時(shí)維護(hù)兩個(gè)數(shù)據(jù)源,上部是常用應(yīng)用,最多可以放8個(gè);下部是全部應(yīng)用。

1. 每個(gè)應(yīng)用圖標(biāo)的狀態(tài)用枚舉Option表示

// 當(dāng)前的操作狀態(tài)
enum class Option {
 ADD, REMOVE, NONE
}

2. 在處于編輯狀態(tài)時(shí)創(chuàng)建ItemTouchHelper對象并attch到RecyclerView上

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

其中,在實(shí)現(xiàn)ItemTouchHelper.Callback接口的onMove() 函數(shù)中,此時(shí)表示用戶已經(jīng)抬手,而圖標(biāo)位置已經(jīng)發(fā)生了變動,此時(shí)將界面上圖標(biāo)的順序同步回Adapter的數(shù)據(jù)源中:

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. 當(dāng)應(yīng)用圖標(biāo)從上部被刪除時(shí),需要將其添加到下部,并將其重新設(shè)為可添加狀態(tài)

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實(shí)現(xiàn)圖標(biāo)拖拽排序以及增刪管理的詳細(xì)內(nèi)容,更多關(guān)于Android 實(shí)現(xiàn)圖標(biāo)拖拽排序以及增刪管理的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Android自定義條形對比統(tǒng)計(jì)圖

    Android自定義條形對比統(tǒng)計(jì)圖

    這篇文章主要為大家詳細(xì)介紹了Android自定義條形對比統(tǒng)計(jì)圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Android中post和get的提交方式【三種】

    Android中post和get的提交方式【三種】

    本文主要對Android中三種POST和GET的提交方式進(jìn)行詳細(xì)介紹。通過任何一種方式可以實(shí)現(xiàn)的功能是,從安卓手機(jī)端提交數(shù)據(jù)到服務(wù)器端,服務(wù)器端進(jìn)行判斷,并返回相應(yīng)的結(jié)果。三種方式各有利弊,實(shí)現(xiàn)效果相同,在實(shí)際的使用過程中可以根據(jù)本身的需要進(jìn)行選擇。
    2016-12-12
  • Android10開發(fā)者常見問題(小結(jié))

    Android10開發(fā)者常見問題(小結(jié))

    這篇文章主要介紹了Android10開發(fā)者常見問題(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • 基于android中讀取assets目錄下a.txt文件并進(jìn)行解析的深入分析

    基于android中讀取assets目錄下a.txt文件并進(jìn)行解析的深入分析

    本篇文章是對在android需要中讀取assets目錄下a.txt文件進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-05-05
  • Android ListView滑動刪除操作(SwipeListView)

    Android ListView滑動刪除操作(SwipeListView)

    這篇文章主要為大家詳細(xì)介紹了Android ListView滑動刪除操作,主要是學(xué)習(xí)SwipeListView開源框架。感興趣的小伙伴們可以參考一下
    2016-08-08
  • 常見Android編譯優(yōu)化問題梳理總結(jié)

    常見Android編譯優(yōu)化問題梳理總結(jié)

    這篇文章主要介紹了常見Android編譯優(yōu)化問題梳理總結(jié),文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2022-08-08
  • Android編程實(shí)現(xiàn)定時(shí)發(fā)短信功能示例

    Android編程實(shí)現(xiàn)定時(shí)發(fā)短信功能示例

    這篇文章主要介紹了Android編程實(shí)現(xiàn)定時(shí)發(fā)短信功能,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android定時(shí)發(fā)送短信功能的相關(guān)原理、實(shí)現(xiàn)方法與注意事項(xiàng),需要的朋友可以參考下
    2017-09-09
  • Android編譯出現(xiàn)Warning:Mapping?new?ns?to?old?ns報(bào)錯(cuò)的解決方案

    Android編譯出現(xiàn)Warning:Mapping?new?ns?to?old?ns報(bào)錯(cuò)的解決方案

    android在編譯的過程中難免會出現(xiàn)些錯(cuò)誤,下面這篇文章主要給大家介紹了關(guān)于Android編譯出現(xiàn)Warning:Mapping?new?ns?to?old?ns報(bào)錯(cuò)的解決方案,需要的朋友可以參考下
    2023-02-02
  • android用java動態(tài)增添刪除修改布局

    android用java動態(tài)增添刪除修改布局

    這篇文章主要介紹了android用java動態(tài)增添刪除修改布局,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Android?Camera1實(shí)現(xiàn)預(yù)覽框顯示

    Android?Camera1實(shí)現(xiàn)預(yù)覽框顯示

    這篇文章主要為大家詳細(xì)介紹了Android?Camera1實(shí)現(xiàn)預(yù)覽框顯示,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-05-05

最新評論