package cn.flightfeather.thirdappmodule.adapter
|
|
import android.content.Context
|
import android.net.Uri
|
import android.support.v4.view.PagerAdapter
|
import android.view.View
|
import android.view.ViewGroup
|
import com.bumptech.glide.Glide
|
import com.github.chrisbanes.photoview.PhotoView
|
import java.io.File
|
|
/**
|
* @author riku
|
* Date: 2019/10/18
|
*/
|
class PhotoPageAdapter(private val paths: List<String>, private val context: Context, private val onViewClick: (view: View) -> Unit) : PagerAdapter() {
|
private val photoViewList = mutableListOf<PhotoView>()
|
|
init {
|
repeat(paths.size) {
|
photoViewList.add(PhotoView(context).apply {
|
setOnClickListener { view -> onViewClick(view) }
|
})
|
}
|
}
|
|
override fun isViewFromObject(p0: View, p1: Any): Boolean = p0 == p1
|
|
override fun getCount(): Int = paths.size
|
|
override fun instantiateItem(container: ViewGroup, position: Int): Any {
|
Glide.with(container)
|
.load(paths[position])
|
.into(photoViewList[position])
|
container.addView(photoViewList[position])
|
|
return photoViewList[position]
|
}
|
|
override fun destroyItem(container: ViewGroup, position: Int, `object`: Any) {
|
container.removeView(photoViewList[position])
|
// photoViewList[position] = PhotoView(context).apply {
|
// setOnClickListener { onViewClick() }
|
// }
|
}
|
}
|