diff --git a/app/src/main/java/com/casic/endoscope/view/AlbumActivity.kt b/app/src/main/java/com/casic/endoscope/view/AlbumActivity.kt index 46ee213..cbdda93 100644 --- a/app/src/main/java/com/casic/endoscope/view/AlbumActivity.kt +++ b/app/src/main/java/com/casic/endoscope/view/AlbumActivity.kt @@ -31,21 +31,26 @@ private val context = this@AlbumActivity //子文件夹集合 - private var dirBeans = ArrayList() + private lateinit var tempSet: HashSet + private lateinit var dirBeans: MutableList private lateinit var directoryAdapter: MediaDirAdapter @SuppressLint("NotifyDataSetChanged") override fun initEvent() { binding.ascButton.setOnClickListener { //按时间排序,降序 - dirBeans.sortByDescending { dir -> dir.name } - directoryAdapter.notifyDataSetChanged() + dirBeans = tempSet.sortedWith { d1, d2 -> + d2.compareTo(d1) + }.toMutableList() + directoryAdapter.setRefreshData(dirBeans) } binding.decButton.setOnClickListener { //升序 - dirBeans.sortBy { dir -> dir.name } - directoryAdapter.notifyDataSetChanged() + dirBeans = tempSet.sortedWith { d1, d2 -> + d1.compareTo(d2) + }.toMutableList() + directoryAdapter.setRefreshData(dirBeans) } //替换onBackPressed @@ -72,15 +77,12 @@ } //去重 - val directoryNameSet = HashSet(temp) + tempSet = HashSet(temp) - //全部转为File类型,方便是用自带的排序函数 - directoryNameSet.forEach { - dirBeans.add(File(it)) - } - - //按时间排序,降序 - dirBeans.sortByDescending { dir -> dir.name } + //排序,降序 + dirBeans = tempSet.sortedWith { d1, d2 -> + d2.compareTo(d1) + }.toMutableList() //绑定数据 directoryAdapter = object : MediaDirAdapter(this, dirBeans) {