Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MetricDataListAdapter : RecyclerView.Adapter<MetricDataViewHolder>() {
- private val metricDataList: LinkedList<PresentationMetricData> = LinkedList()
- fun addItem(item: PresentationMetricData) {
- metricDataList.add(0, item)
- notifyDataSetChanged()
- }
- override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MetricDataViewHolder {
- val row = LayoutInflater.from(parent.context).inflate(R.layout.data_item, parent, false)
- return MetricDataViewHolder(row)
- }
- override fun getItemCount(): Int = metricDataList.size
- override fun onBindViewHolder(holder: MetricDataViewHolder, position: Int) {
- holder.bind(metricDataList[position])
- }
- }
- class MetricDataViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
- private val yearMonth: TextView = itemView.findViewById(R.id.year_month)
- private val day: TextView = itemView.findViewById(R.id.day)
- private val time: TextView = itemView.findViewById(R.id.hour)
- private val temperature: TextView = itemView.findViewById(R.id.temperature)
- private val batteryLevel: TextView = itemView.findViewById(R.id.batteryLevel)
- private val batteryHealth: TextView = itemView.findViewById(R.id.batteryHealth)
- private val batteryTemp: TextView = itemView.findViewById(R.id.batteryTemp)
- private val ram: TextView = itemView.findViewById(R.id.ram)
- private val storage: TextView = itemView.findViewById(R.id.storage)
- private val accelerometer: TextView = itemView.findViewById(R.id.accelerometer)
- private val gyroscope: TextView = itemView.findViewById(R.id.gyroscope)
- private val magnetic: TextView = itemView.findViewById(R.id.magnetic)
- private val light: TextView = itemView.findViewById(R.id.light)
- private val pressure: TextView = itemView.findViewById(R.id.pressure)
- private val location: TextView = itemView.findViewById(R.id.location)
- private val orientation: TextView = itemView.findViewById(R.id.orientation)
- private val mainLayout: LinearLayout = itemView.findViewById(R.id.main_layout)
- private val detailsLayout: LinearLayout = itemView.findViewById(R.id.layout_to_expand)
- fun bind(metricData: PresentationMetricData) {
- yearMonth.text = metricData.yearMonth
- day.text = metricData.day
- time.text = metricData.time
- temperature.text = metricData.temperature
- batteryLevel.text = metricData.batteryChargeLevel
- batteryHealth.text = metricData.batteryHealth
- batteryTemp.text = metricData.batteryTemperature
- ram.text = metricData.freeRam
- storage.text = metricData.freeInternalStorage
- accelerometer.text = metricData.accelerometer
- gyroscope.text = metricData.gyroscope
- magnetic.text = metricData.magnetic
- light.text = metricData.lightSensor
- pressure.text = metricData.pressure
- location.text = metricData.location
- orientation.text = metricData.orientation
- mainLayout.setOnClickListener {
- if (detailsLayout.isGone) {
- detailsLayout.visibility = View.VISIBLE
- } else if (detailsLayout.isVisible) {
- detailsLayout.visibility = View.GONE
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement