Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.23 KB | None | 0 0
  1. class JobsAdapter(private val list: List<Job>?, val cardBindingListener: (Job, JobViewHolder, Int) -> Unit, val cardTappedListener: (Job) -> Unit)
  2.     : RecyclerView.Adapter<JobViewHolder>() {
  3.  
  4.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): JobViewHolder {
  5.         val inflater = LayoutInflater.from(parent.context)
  6.         return JobViewHolder(inflater, parent)
  7.     }
  8.  
  9.     override fun onBindViewHolder(holder: JobViewHolder, position: Int) {
  10.         val job = list?.get(position)
  11.  
  12.         cardBindingListener(job!!, holder, position)
  13.  
  14.         holder.mContainer?.setOnClickListener {
  15.             cardTappedListener(job)
  16.         }
  17.  
  18.         holder.bind(job, position)
  19.     }
  20.  
  21.     override fun getItemCount(): Int = list?.size!!
  22.  
  23. }
  24.  
  25. class JobViewHolder(inflater: LayoutInflater, parent: ViewGroup)
  26.     : RecyclerView.ViewHolder(inflater.inflate(R.layout.load_board_jobs, parent, false)) {
  27.  
  28.     var mContainer: CardView? = null
  29.     var startLoc: TextView? = null
  30.     var destination: TextView? = null
  31.     var jobValue: TextView? = null
  32.     var jobDistance: TextView? = null
  33.     var timeToFinish: TextView? = null
  34.     var status: TextView? = null
  35.     var name: TextView? = null;
  36.  
  37.     init {
  38.         mContainer = itemView.findViewById(R.id.loadBoardCV)
  39.         startLoc = itemView.findViewById(R.id.txtFrom)
  40.         destination = itemView.findViewById(R.id.txtTo)
  41.         jobValue = itemView.findViewById(R.id.jobValueTxt)
  42.         //jobDistance = itemView.findViewById(R.id.jobDistanceTxt)
  43.         timeToFinish = itemView.findViewById(R.id.jobTimeLeft)
  44.         name = itemView.findViewById(R.id.txtJobName)
  45.         status = itemView.findViewById(R.id.jobStatus)
  46.     }
  47.  
  48.     fun bind(job: Job, position: Int) {
  49.         startLoc?.text = "From: " + job.loadAddress
  50.         destination?.text = "To: " + job.dropAddress
  51.         jobValue?.text = "Job value: " + job.price.toString() + " "+job.priceUnit
  52.         timeToFinish?.text = "Job expiry date: " + DateTime(job.expireDate).toLocalDate()
  53.         name?.text ="Job: "+job.jobName
  54.         status?.text ="Status: "+(Status.valueOf(job.statusId!!))?.name?.toLowerCase()?.capitalize()?.replace("Inprogress", "In Progress")
  55.         Log.e("QR",""+job.QRImg)
  56.  
  57.     }
  58.  
  59. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement