From 45f7ccaa3e2e49f0a32bd56b0ea0289a3f0a56f2 Mon Sep 17 00:00:00 2001 From: Bastien Jacquelin Date: Fri, 24 Mar 2023 10:32:23 +0100 Subject: [PATCH] master working --- .../java/fr/iut/cinecool/MoviesFragment.kt | 17 +++++++++ .../fr/iut/cinecool/adapter/MovieAdapter.kt | 37 +++++++++++++++++++ .../java/fr/iut/cinecool/adapter/MyAdapter.kt | 4 -- .../main/java/fr/iut/cinecool/model/Stub.kt | 7 ++-- .../src/main/res/layout/fragment_movies.xml | 1 + CineCool/app/src/main/res/values/themes.xml | 2 +- 6 files changed, 60 insertions(+), 8 deletions(-) create mode 100644 CineCool/app/src/main/java/fr/iut/cinecool/adapter/MovieAdapter.kt delete mode 100644 CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt index dbb260f..cd2b969 100644 --- a/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt +++ b/CineCool/app/src/main/java/fr/iut/cinecool/MoviesFragment.kt @@ -6,9 +6,18 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import android.widget.Button +import android.widget.LinearLayout import androidx.navigation.fragment.findNavController +import androidx.recyclerview.widget.LinearLayoutManager +import androidx.recyclerview.widget.RecyclerView +import fr.iut.cinecool.adapter.MovieAdapter +import fr.iut.cinecool.model.Movie +import fr.iut.cinecool.model.Stub class MoviesFragment : Fragment() { + private lateinit var recycler: RecyclerView + private lateinit var movieList: ArrayList + private lateinit var movieAdapter: MovieAdapter override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? @@ -19,6 +28,14 @@ class MoviesFragment : Fragment() { button.setOnClickListener { findNavController().navigate(R.id.movies_to_sessions) } + recycler = view.findViewById(R.id.recyclerMovie) + recycler.setHasFixedSize(true) + recycler.layoutManager = LinearLayoutManager(context) + val stub = Stub() + stub.loading() + movieList=stub.movies + movieAdapter = MovieAdapter(movieList) + recycler.adapter = movieAdapter return view } } \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MovieAdapter.kt b/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MovieAdapter.kt new file mode 100644 index 0000000..0093c5f --- /dev/null +++ b/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MovieAdapter.kt @@ -0,0 +1,37 @@ +package fr.iut.cinecool.adapter + +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 fr.iut.cinecool.R +import fr.iut.cinecool.model.Movie + +class MovieAdapter(private val moviesList: ArrayList) : + + RecyclerView.Adapter() { + + class MovieViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { + val imageView = itemView.findViewById(R.id.imageView) + val MovieName = itemView.findViewById(R.id.MovieName) + val OtherInformations = itemView.findViewById(R.id.OtherInformations) + } + + override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MovieViewHolder { + val view = LayoutInflater.from(parent.context).inflate(R.layout.movie, parent, false) + return MovieViewHolder(view) + } + + override fun getItemCount(): Int { + return moviesList.size + } + + override fun onBindViewHolder(holder: MovieViewHolder, position: Int) { + val movie = moviesList[position] + holder.imageView.setImageResource(movie.icon) + holder.MovieName.text = movie.name + holder.OtherInformations.text = movie.realisator +" "+ movie.duration +" "+ movie.mark + } +} \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt b/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt deleted file mode 100644 index 168f4ab..0000000 --- a/CineCool/app/src/main/java/fr/iut/cinecool/adapter/MyAdapter.kt +++ /dev/null @@ -1,4 +0,0 @@ -package fr.iut.cinecool.adapter - -class MyAdapter { -} \ No newline at end of file diff --git a/CineCool/app/src/main/java/fr/iut/cinecool/model/Stub.kt b/CineCool/app/src/main/java/fr/iut/cinecool/model/Stub.kt index 2503a4b..56d383a 100644 --- a/CineCool/app/src/main/java/fr/iut/cinecool/model/Stub.kt +++ b/CineCool/app/src/main/java/fr/iut/cinecool/model/Stub.kt @@ -1,14 +1,15 @@ package fr.iut.cinecool.model import android.graphics.drawable.Drawable +import fr.iut.cinecool.R import java.util.Date -class Stub(var sessions:ArrayList,var movies:ArrayList, var cinemas:ArrayList) { +class Stub( var sessions:ArrayList = ArrayList(),var movies:ArrayList = ArrayList(),var cinemas:ArrayList = ArrayList()) { fun loading(){ val date = Date(2023,3,12) sessions.addAll(listOf(Session(0,date,14,16,"2A"),Session(1,date,4,6,"5B"))) - //movies.add(Movie(1,"trop bg",2,"Pas moi",2.0,)) - //movies.add(Movie(0,"Imitation Game",4,"Moi",3.0,)) + movies.add(Movie(1,"trop bg",2,"Pas moi",2.0, R.drawable.no_pictures)) + movies.add(Movie(0,"Imitation Game",4,"Moi",3.0,R.drawable.imitation_game)) cinemas.add(Cinema(0,12367,67894,"clf","CineJaude")) cinemas.add(Cinema(1,87634,43567,"Aubière","CGR Le Paris")) } diff --git a/CineCool/app/src/main/res/layout/fragment_movies.xml b/CineCool/app/src/main/res/layout/fragment_movies.xml index dba4193..56b51a7 100644 --- a/CineCool/app/src/main/res/layout/fragment_movies.xml +++ b/CineCool/app/src/main/res/layout/fragment_movies.xml @@ -26,6 +26,7 @@ app:layout_constraintTop_toTopOf="parent"/> -