Skip to content

Commit

Permalink
activity : P2C4
Browse files Browse the repository at this point in the history
  • Loading branch information
JustJerem committed Feb 19, 2024
1 parent 17345c4 commit 2764ea8
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 4 deletions.
@@ -1,6 +1,7 @@
package com.openclassrooms.icerush

import android.os.Bundle
import android.widget.Toast
import androidx.activity.viewModels
import androidx.appcompat.app.AppCompatActivity
import androidx.lifecycle.Lifecycle
Expand All @@ -16,12 +17,12 @@ import kotlinx.coroutines.launch


@AndroidEntryPoint
class MainActivity : AppCompatActivity() {
class MainActivity : AppCompatActivity(), WeatherAdapter.OnItemClickListener {


private lateinit var binding: ActivityMainBinding
private val viewModel: HomeViewModel by viewModels()
private val customAdapter = WeatherAdapter()
private val customAdapter = WeatherAdapter(this)


override fun onCreate(savedInstanceState: Bundle?) {
Expand Down Expand Up @@ -51,4 +52,13 @@ class MainActivity : AppCompatActivity() {
binding.recyclerView.layoutManager = layoutManager
binding.recyclerView.adapter = customAdapter
}

override fun onItemClick(item: SnowReportModel) {
Toast.makeText(
this,
"Temperature: ${item.temperatureCelsius}°C - Meteo Type: ${item.weatherTitle}",
Toast.LENGTH_SHORT
)
.show()
}
}
Expand Up @@ -12,11 +12,17 @@ import java.text.SimpleDateFormat
import java.util.Locale


class WeatherAdapter :
class WeatherAdapter(private val itemClickListener: OnItemClickListener) :
ListAdapter<SnowReportModel, WeatherAdapter.WeatherViewHolder>(DiffCallback) {

interface OnItemClickListener {
fun onItemClick(item: SnowReportModel)
}


class WeatherViewHolder(
private val binding: ItemWeatherBinding,
private val itemClickListener: OnItemClickListener
) : RecyclerView.ViewHolder(binding.root) {

private val dateFormatter = SimpleDateFormat("dd/MM - HH:mm", Locale.getDefault())
Expand All @@ -26,13 +32,16 @@ class WeatherAdapter :
binding.textViewDateTime.text = formattedDate
binding.textViewStargazing.text =
if (observation.isRaining && observation.temperatureCelsius > 1) "🛑" else "️❄️"
binding.root.setOnClickListener {
itemClickListener.onItemClick(observation)
}
}
}

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): WeatherViewHolder {
val itemView =
ItemWeatherBinding.inflate(LayoutInflater.from(parent.context), parent, false)
return WeatherViewHolder(itemView)
return WeatherViewHolder(itemView, itemClickListener)
}

override fun onBindViewHolder(holder: WeatherViewHolder, position: Int) {
Expand Down

0 comments on commit 2764ea8

Please sign in to comment.