mihon/app/src/main/java/eu/kanade/tachiyomi/widget/ViewPagerAdapter.kt

34 lines
915 B
Kotlin
Raw Normal View History

2016-07-30 15:51:49 +02:00
package eu.kanade.tachiyomi.widget
import android.view.View
import android.view.ViewGroup
2020-01-29 04:47:57 +01:00
import androidx.viewpager.widget.PagerAdapter
2016-07-30 15:51:49 +02:00
abstract class ViewPagerAdapter : PagerAdapter() {
protected abstract fun createView(container: ViewGroup, position: Int): View
protected open fun destroyView(container: ViewGroup, position: Int, view: View) {
}
override fun instantiateItem(container: ViewGroup, position: Int): Any {
val view = createView(container, position)
container.addView(view)
return view
}
override fun destroyItem(container: ViewGroup, position: Int, obj: Any) {
val view = obj as View
destroyView(container, position, view)
container.removeView(view)
}
override fun isViewFromObject(view: View, obj: Any): Boolean {
return view === obj
}
interface PositionableView {
val item: Any
}
}