2021-06-28 14:52:26 +02:00
|
|
|
package jp.juggler.subwaytooter.columnviewholder
|
2018-01-04 19:52:25 +01:00
|
|
|
|
2019-10-05 14:28:04 +02:00
|
|
|
import android.view.ViewGroup
|
2019-02-15 02:51:22 +01:00
|
|
|
import androidx.recyclerview.widget.RecyclerView
|
2021-06-28 09:09:00 +02:00
|
|
|
import jp.juggler.subwaytooter.ActMain
|
|
|
|
import jp.juggler.subwaytooter.column.Column
|
|
|
|
import jp.juggler.subwaytooter.column.startLoading
|
2023-01-13 13:22:25 +01:00
|
|
|
import jp.juggler.util.log.LogCategory
|
2018-01-04 19:52:25 +01:00
|
|
|
|
2018-11-15 23:08:11 +01:00
|
|
|
internal class TabletColumnViewHolder(
|
2021-06-13 13:48:48 +02:00
|
|
|
activity: ActMain,
|
|
|
|
parent: ViewGroup,
|
2023-01-13 13:22:25 +01:00
|
|
|
val columnViewHolder: ColumnViewHolder = ColumnViewHolder(activity, parent),
|
2019-10-05 14:28:04 +02:00
|
|
|
) : RecyclerView.ViewHolder(columnViewHolder.viewRoot) {
|
2021-06-13 13:48:48 +02:00
|
|
|
|
|
|
|
companion object {
|
|
|
|
val log = LogCategory("TabletColumnViewHolder")
|
|
|
|
}
|
|
|
|
|
|
|
|
private var pageIndex = -1
|
|
|
|
|
2021-06-20 15:12:25 +02:00
|
|
|
fun bind(column: Column, pageIndex: Int, columnCount: Int) {
|
|
|
|
log.d("bind. ${this.pageIndex} => $pageIndex")
|
2021-06-13 13:48:48 +02:00
|
|
|
|
|
|
|
columnViewHolder.onPageDestroy(this.pageIndex)
|
|
|
|
|
|
|
|
this.pageIndex = pageIndex
|
|
|
|
|
2021-06-20 15:12:25 +02:00
|
|
|
columnViewHolder.onPageCreate(column, pageIndex, columnCount)
|
2021-06-13 13:48:48 +02:00
|
|
|
|
|
|
|
if (!column.bFirstInitialized) {
|
|
|
|
column.startLoading()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
fun onViewRecycled() {
|
2021-06-20 15:12:25 +02:00
|
|
|
log.d("onViewRecycled $pageIndex")
|
2021-06-13 13:48:48 +02:00
|
|
|
columnViewHolder.onPageDestroy(pageIndex)
|
|
|
|
}
|
2018-01-04 19:52:25 +01:00
|
|
|
}
|