Guest User

Untitled

a guest
Jul 9th, 2020
307
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 1.64 KB | None | 0 0
  1. package com.example.secondtry
  2.  
  3. import android.view.LayoutInflater
  4. import android.view.ViewGroup
  5. import android.widget.LinearLayout
  6. import android.widget.TextView
  7.  
  8. import androidx.recyclerview.widget.RecyclerView
  9. import androidx.recyclerview.widget.RecyclerView.ViewHolder
  10. import java.util.*
  11.  
  12. import kotlin.time.ExperimentalTime
  13. import kotlin.time.seconds
  14.  
  15. class CommentListAdapter : RecyclerView.Adapter<CommentListAdapter.MyViewHolder>() {
  16.  
  17.     lateinit var values: List<WallpostComment>
  18.  
  19.     override fun getItemCount(): Int {
  20.         return values.size
  21.     }
  22.  
  23.     class MyViewHolder(layout: LinearLayout) : ViewHolder(layout) {
  24.         val commentHeader: TextView = layout.findViewById(R.id.commentHeader)
  25.         val commentContent: TextView = layout.findViewById(R.id.commentContent)
  26.         val date: TextView = layout.findViewById(R.id.date)
  27.     }
  28.  
  29.     override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
  30.         val v = LayoutInflater.from(parent.context)
  31.                 .inflate(R.layout.comment_view, parent, false) as LinearLayout
  32.         return MyViewHolder(v)
  33.     }
  34.  
  35.     @ExperimentalTime
  36.     override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
  37.         val comment = values[position]
  38.         val headerText = "${comment.username} on ${comment.datePosted}"
  39.  
  40.         val now = Date()
  41.         val timeDiff = now.time - comment.datePosted.time
  42.         val isRecent = timeDiff.seconds.inSeconds < 100L
  43.  
  44.         holder.date.text = if (isRecent) "Just now" else "2h"
  45.         holder.commentHeader.text = headerText
  46.         holder.commentContent.text = comment.content
  47.     }
  48. }
Advertisement
Add Comment
Please, Sign In to add comment