pull/32/head
kunfei 5 years ago
parent 1c9e6846b3
commit b66f578bff
  1. 1
      app/src/main/java/io/legado/app/data/entities/rule/ExploreRule.kt
  2. 11
      app/src/main/java/io/legado/app/ui/main/findbook/FindBookAdapter.kt
  3. 2
      app/src/main/java/io/legado/app/ui/main/findbook/FindBookFragment.kt

@ -36,6 +36,7 @@ data class ExploreRule(
val b = a.split("(&&|\n)+".toRegex())
b.map { c ->
val d = c.split("::")
if (d.size > 1)
exploreKinds.add(ExploreKind(d[0], d[1]))
}
return exploreKinds

@ -10,15 +10,18 @@ import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
import io.legado.app.R
import io.legado.app.data.entities.BookSource
import io.legado.app.help.coroutine.Coroutine
import io.legado.app.lib.theme.ColorUtils
import io.legado.app.utils.gone
import io.legado.app.utils.visible
import kotlinx.android.synthetic.main.item_find_book.view.*
import kotlinx.android.synthetic.main.item_text.view.*
import kotlinx.coroutines.CoroutineScope
import org.jetbrains.anko.sdk27.listeners.onClick
class FindBookAdapter:PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>(DIFF_CALLBACK) {
class FindBookAdapter(private val scope: CoroutineScope) :
PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>(DIFF_CALLBACK) {
var exIndex = 0
@ -58,7 +61,10 @@ class FindBookAdapter:PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>
}
if (exIndex == position) {
gl_child.visible()
bookSource.getExploreRule().getExploreKinds(bookSource.bookSourceUrl)?.let {
Coroutine.async(scope) {
bookSource.getExploreRule().getExploreKinds(bookSource.bookSourceUrl)
}.onSuccess {
it?.let {
var rowNum = 0
var columnNum = 0
gl_child.removeAllViews()
@ -81,6 +87,7 @@ class FindBookAdapter:PagedListAdapter<BookSource, FindBookAdapter.MyViewHolder>
}
}
}
}
} else {
gl_child.gone()
}

@ -34,7 +34,7 @@ class FindBookFragment : BaseFragment(R.layout.fragment_find_book) {
private fun initRecyclerView() {
ATH.applyEdgeEffectColor(rv_find)
rv_find.layoutManager = LinearLayoutManager(context)
adapter = FindBookAdapter()
adapter = FindBookAdapter(this)
rv_find.adapter = adapter
}

Loading…
Cancel
Save