parent
7662345e76
commit
6077117210
@ -1,49 +0,0 @@ |
|||||||
package io.legado.app.ui.main |
|
||||||
|
|
||||||
import androidx.fragment.app.Fragment |
|
||||||
import androidx.viewpager2.adapter.FragmentStateAdapter |
|
||||||
import io.legado.app.help.AppConfig |
|
||||||
import io.legado.app.ui.main.bookshelf.BookshelfFragment |
|
||||||
import io.legado.app.ui.main.explore.ExploreFragment |
|
||||||
import io.legado.app.ui.main.my.MyFragment |
|
||||||
import io.legado.app.ui.main.rss.RssFragment |
|
||||||
|
|
||||||
class MainAdapter(val activity: MainActivity) : FragmentStateAdapter(activity) { |
|
||||||
|
|
||||||
private val fid1 = 111.toLong() |
|
||||||
private val fid2 = 222.toLong() |
|
||||||
private val fid3 = 333.toLong() |
|
||||||
private val fid4 = 444.toLong() |
|
||||||
|
|
||||||
private val ids: ArrayList<Long> |
|
||||||
get() = if (AppConfig.isShowRSS) { |
|
||||||
arrayListOf(fid1, fid2, fid3, fid4) |
|
||||||
} else { |
|
||||||
arrayListOf(fid1, fid2, fid4) |
|
||||||
} |
|
||||||
|
|
||||||
private val createdIds = hashSetOf<Long>() |
|
||||||
|
|
||||||
override fun getItemCount(): Int { |
|
||||||
return if (AppConfig.isShowRSS) 4 else 3 |
|
||||||
} |
|
||||||
|
|
||||||
override fun getItemId(position: Int): Long { |
|
||||||
return ids[position] |
|
||||||
} |
|
||||||
|
|
||||||
override fun containsItem(itemId: Long): Boolean { |
|
||||||
return createdIds.contains(itemId) |
|
||||||
} |
|
||||||
|
|
||||||
override fun createFragment(position: Int): Fragment { |
|
||||||
val id = ids[position] |
|
||||||
createdIds.add(id) |
|
||||||
return when (id) { |
|
||||||
fid4 -> MyFragment() |
|
||||||
fid3 -> RssFragment() |
|
||||||
fid2 -> ExploreFragment() |
|
||||||
else -> BookshelfFragment() |
|
||||||
} |
|
||||||
} |
|
||||||
} |
|
Loading…
Reference in new issue