Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
- when (holder) {
- is DateHolder -> {
- (userTracks[position] as Date).let { date ->
- holder.date.text = date.startDate
- }
- }
- is TrackHolder -> {
- (userTracks[position] as UserTrack).let { userTrack ->
- holder.bindTrack(userTrack)
- holder.distance.text =
- "${String.format(Locale.getDefault(), "%.2f", userTrack.distance)} ΠΊΠΌ"
- holder.duration.text =
- LocationConverter.convertMStoTime(userTrack.activeDuration)
- holder.startTime.text = userTrack.startTime
- if (showCb) {
- holder.trackCheckBox.visibility = View.VISIBLE
- }
- }
- }
- }
- }
- inner class TrackHolder(itemView: View) : RecyclerView.ViewHolder(itemView),
- View.OnClickListener, View.OnLongClickListener {
- init {
- itemView.setOnClickListener(this)
- itemView.setOnLongClickListener(this)
- }
- lateinit var mUserTrack: UserTrack
- val distance: TextView = itemView.card_distance_params
- val duration: TextView = itemView.card_duration_params
- val startTime: TextView = itemView.card_star_time
- val trackCheckBox: CheckBox = itemView.track_item_cb
- override fun onClick(v: View?) {
- val intent = Intent(this@TrackListFragment.context, TrackInfoActivity::class.java)
- intent.putExtra(TRACK_PARCELABLE, mUserTrack)
- Log.d("mUserTrack.trackID", mUserTrack.startTime)
- this@TrackListFragment.startActivity(intent)
- }
- fun bindTrack(userTrack: UserTrack) {
- mUserTrack = userTrack
- }
- override fun onLongClick(v: View?): Boolean {
- showCb = true
- updateUI()
- return true
- }
- }
- fun updateUI() {
- rv_tracks.adapter = DataAdapter()
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement