|
|
@@ -19,6 +19,7 @@ class ChapterListAdapter(context: Context, val callback: Callback) :
|
|
|
RecyclerAdapter<BookChapter, ItemChapterListBinding>(context) {
|
|
|
|
|
|
val cacheFileNames = hashSetOf<String>()
|
|
|
+ val displayTileMap = hashMapOf<Int, String>()
|
|
|
val diffCallBack = object : DiffUtil.ItemCallback<BookChapter>() {
|
|
|
|
|
|
override fun areItemsTheSame(
|
|
|
@@ -47,6 +48,16 @@ class ChapterListAdapter(context: Context, val callback: Callback) :
|
|
|
return ItemChapterListBinding.inflate(inflater, parent, false)
|
|
|
}
|
|
|
|
|
|
+ private fun getDisplayTile(chapter: BookChapter): String {
|
|
|
+ var displayTile = displayTileMap[chapter.index]
|
|
|
+ if (displayTile != null) {
|
|
|
+ return displayTile
|
|
|
+ }
|
|
|
+ displayTile = chapter.getDisplayTitle()
|
|
|
+ displayTileMap[chapter.index] = displayTile
|
|
|
+ return displayTile
|
|
|
+ }
|
|
|
+
|
|
|
override fun convert(
|
|
|
holder: ItemViewHolder,
|
|
|
binding: ItemChapterListBinding,
|
|
|
@@ -62,7 +73,7 @@ class ChapterListAdapter(context: Context, val callback: Callback) :
|
|
|
} else {
|
|
|
tvChapterName.setTextColor(context.getCompatColor(R.color.primaryText))
|
|
|
}
|
|
|
- tvChapterName.text = item.getDisplayTitle()
|
|
|
+ tvChapterName.text = getDisplayTile(item)
|
|
|
if (item.isVolume) {
|
|
|
//卷名,如第一卷 突出显示
|
|
|
tvChapterItem.setBackgroundColor(context.getCompatColor(R.color.btn_bg_press))
|