CourseSearchAdapter.kt 1.9 KB
Newer Older
严久程 committed
1 2 3 4 5 6
package com.yidianling.course.courseSearch

import android.content.Context
import android.support.v7.widget.RecyclerView
import android.view.ViewGroup
import com.yidianling.common.tools.RxImageTool
严久程 committed
7
import com.yidianling.course.bean.Course
严久程 committed
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
import com.yidianling.course.courseSearch.view.ICourseSearchView
import com.yidianling.course.widget.CourseItemNewView

/**
 * @author <a href="https://www.jianshu.com/u/c1e5310dd724">xujian</a>
 * @描述: 课程搜索页面列表适配器
 * @Copyright Copyright (c) 2019
 * @Company 壹点灵
 * @date 2019/01/07
 */
class CourseSearchAdapter(private val mContext: Context, private val mCourseSearchView: ICourseSearchView, private val list: List<Course>) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {


    private var itemListener: OnItemClick? = null

    private var dp145: Int = 0
    private var dp80: Int = 0

    init {
        dp145 = RxImageTool.dip2px(145f)
        dp80 = RxImageTool.dip2px(80f)
    }

    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): CourseSearchViewHolder {
        return CourseSearchViewHolder(CourseItemNewView(mContext))
    }

    override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
        val bean = list[position]
        when (holder) {
            is CourseSearchViewHolder -> {
                holder.mView.setData(bean)

                holder.mView.setOnClickListener {
                    itemListener?.onItemClickEvent(position)
                }
            }
        }
    }

    fun setOnItemClickListener(listener: OnItemClick) {
        itemListener = listener
    }

    interface OnItemClick {
        fun onItemClickEvent(position: Int)
    }

    override fun getItemCount(): Int {
        return list.size
    }

    //自定义的ViewHolder,持有每个Item的的所有界面元素
    inner class CourseSearchViewHolder(var mView: CourseItemNewView) : RecyclerView.ViewHolder(mView)
}