Я занимаюсь разработкой новостного приложения и хочу преобразовать прошедшее время с этой даты на другую и передать эту логику владельцу представления в recyclerviewadapterclass, используя kotlin
В следующий раз я получаю от сервера 2019-10-08T15:16: 05Z
и я хочу достичь времени, как показано ниже: фотография время изображение, которое я хочу получить
ниже моего класса адаптера, где я реализовал истекшее время с этого моментак этой дате логика
class TopHeadlinesAdapter(val context: Context) : RecyclerView.Adapter<TopHeadlinesAdapter.MyViewHolder>() {
var articleList : List<Article> = listOf()
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.news_list,parent,false)
return MyViewHolder(view)
}
override fun getItemCount(): Int {
return articleList.size
}
@SuppressLint("NewApi")
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
holder.articleTitle.text = articleList.get(position).title
holder.articleSourceName.text = articleList.get(position).source.name
Picasso.get().load(articleList.get(position).urlToImage).into(holder.image)
val input = SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'", Locale.US)
val output = SimpleDateFormat("dd/MM/yyyy", Locale.US)
var d = Date()
try
{
d = input.parse(articleList.get(4).publishedAt)
}
catch (e: ParseException) {
e.printStackTrace()
}
val formatted = output.format(d)
val timelinePoint = LocalDateTime.parse(formatted)
val now = LocalDateTime.now()
var elapsedTime = Duration.between(timelinePoint, now)
println(timelinePoint)
println(now)
elapsedTime.toMinutes()
holder.articleTime.text = elapsedTime
}
fun setMovieListItems(articleList: List<Article>){
this.articleList = articleList
notifyDataSetChanged()
}
@SuppressLint("NewApi")
fun example( ) {
}
class MyViewHolder(itemView: View?) : RecyclerView.ViewHolder(itemView!!) {
val image: ImageView = itemView!!.findViewById(R.id.imageView)
val articleTitle: TextView = itemView!!.findViewById(R.id.articleTitle)
val articleSourceName: TextView = itemView!!.findViewById(R.id.articleSourceName)
val imageCategory: ImageView = itemView!!.findViewById(R.id.imageCategory)
val articleTime: TextView = itemView!!.findViewById(R.id.articleTime)
}
}
ниже класса модели Article.kt
data class Article(
val author: String,
val content: String,
val description: String,
val publishedAt: String,
val source: Source,
val title: String,
val url: String,
val urlToImage: String
)