recyclerView

This commit is contained in:
KJG
2024-09-30 15:40:43 +09:00
parent 6e34a6cad6
commit 3561137c6b
2 changed files with 71 additions and 2 deletions
@@ -0,0 +1,65 @@
package rasel.lunar.launcher.home.adapters
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import rasel.lunar.launcher.R
import rasel.lunar.launcher.home.adapters.WeatherAdapter.ViewHolder
import rasel.lunar.launcher.model.Hour
import rasel.lunar.launcher.model.WeatherForcast
import java.time.Instant
import java.time.ZoneId
class WeatherAdapter(private val dataSet: Array<String>): RecyclerView.Adapter<ViewHolder>(){
var isShowAmOrPm: Boolean = true
class ViewHolder(view: View): RecyclerView.ViewHolder(view) {
val viewItem: View
init {
viewItem = view.findViewById(R.id.weather_item)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context)
.inflate(R.layout.recommended_hourly_dress, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val data = dataSet[position] as? Hour
data?.let {
if (it.time_epoch >= (System.currentTimeMillis() / 1000)) {
holder.viewItem.findViewById<TextView>(R.id.amOrPm)
.run {
this.text = Instant.ofEpochSecond(it.time_epoch.toLong())
.atZone(ZoneId.systemDefault())
.hour
.run {
if (this < 12) "오전" else "오후"
}
}
holder.viewItem.findViewById<TextView>(R.id.hour)
.run {
val hour = Instant.ofEpochSecond(it.time_epoch.toLong())
.atZone(ZoneId.systemDefault())
.hour
.toString()
this.text = "${hour}"
}
holder.viewItem.findViewById<ImageView>(R.id.imgDress)
.run { this.setImageResource(R.drawable.ico_time) }
holder.viewItem.findViewById<TextView>(R.id.temperature)
.run {
this.text = "${it.temp_c}"
}
}
}
}
override fun getItemCount(): Int = 3
}