recyclerView
This commit is contained in:
@@ -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
|
||||
}
|
||||
Reference in New Issue
Block a user