Advertisement
i_trunker

Untitled

Dec 5th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 2.33 KB | None | 0 0
  1.         override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
  2.             when (holder) {
  3.                 is DateHolder -> {
  4.                     (userTracks[position] as Date).let { date ->
  5.                         holder.date.text = date.startDate
  6.                     }
  7.                 }
  8.  
  9.                 is TrackHolder -> {
  10.                     (userTracks[position] as UserTrack).let { userTrack ->
  11.                         holder.bindTrack(userTrack)
  12.                         holder.distance.text =
  13.                             "${String.format(Locale.getDefault(), "%.2f", userTrack.distance)} ΠΊΠΌ"
  14.                         holder.duration.text =
  15.                             LocationConverter.convertMStoTime(userTrack.activeDuration)
  16.                         holder.startTime.text = userTrack.startTime
  17.                         if (showCb) {
  18.                             holder.trackCheckBox.visibility = View.VISIBLE
  19.                         }
  20.  
  21.                     }
  22.                 }
  23.             }
  24.  
  25.         }
  26.  
  27.         inner class TrackHolder(itemView: View) : RecyclerView.ViewHolder(itemView),
  28.             View.OnClickListener, View.OnLongClickListener {
  29.  
  30.             init {
  31.                 itemView.setOnClickListener(this)
  32.                 itemView.setOnLongClickListener(this)
  33.             }
  34.  
  35.             lateinit var mUserTrack: UserTrack
  36.             val distance: TextView = itemView.card_distance_params
  37.             val duration: TextView = itemView.card_duration_params
  38.             val startTime: TextView = itemView.card_star_time
  39.             val trackCheckBox: CheckBox = itemView.track_item_cb
  40.  
  41.  
  42.             override fun onClick(v: View?) {
  43.  
  44.                 val intent = Intent(this@TrackListFragment.context, TrackInfoActivity::class.java)
  45.                 intent.putExtra(TRACK_PARCELABLE, mUserTrack)
  46.                 Log.d("mUserTrack.trackID", mUserTrack.startTime)
  47.                 this@TrackListFragment.startActivity(intent)
  48.             }
  49.  
  50.             fun bindTrack(userTrack: UserTrack) {
  51.                 mUserTrack = userTrack
  52.             }
  53.  
  54.             override fun onLongClick(v: View?): Boolean {
  55.                 showCb = true
  56.                 updateUI()
  57.                 return true
  58.             }
  59.  
  60.  
  61.         }
  62.  
  63.     fun updateUI() {
  64.         rv_tracks.adapter = DataAdapter()
  65.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement