Práctica RecyclerView - Android PDF

Title Práctica RecyclerView - Android
Course Programación De Aplicaciones
Institution Universidad Pontificia de Salamanca
Pages 5
File Size 122 KB
File Type PDF
Total Downloads 94
Total Views 148

Summary

Práctica RecyclerView - Android...


Description

Práctica RecyclerView Movie.java public class Movie {

private String id; private String name; private double score;

public Movie(){

}

public Movie(String id, String name, double score) { this.id = id; this.name = name; this.score = score; }

public String getId() { return id; }

public void setId(String id) { this.id = id; }

public String getName() { return name; }

public void setName(String name) { this.name = name; }

public double getScore() { return score; }

public void setScore(double score) { this.score = score; } }

MovieAdapter.java import android.content.Context; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView;

import java.util.List;

public class MovieAdapter extends RecyclerView.Adapter{

private List movies; private Context context;

public MovieAdapter(Context context) { this.context = context; }

public void setMovies(List movies) { this.movies = movies; notifyDataSetChanged(); }

@NonNull @Override public MovieViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { LayoutInflater layoutInflater = LayoutInflater.from(context); View itemView = layoutInflater.inflate(R.layout.lay_movie, parent, false);

return new MovieViewHolder(itemView); }

@Override public void onBindViewHolder(@NonNull MovieViewHolder holder, int position) { Movie movie = movies.get(position); holder.bind(movie); }

@Override public int getItemCount() { if(movies == null){ return 0; } else{ return movies.size(); } }

public class MovieViewHolder extends RecyclerView.ViewHolder{

private TextView tvName; private TextView tvScore;

public MovieViewHolder(@NonNull View itemView) { super(itemView); tvName = itemView.findViewById(R.id.tv_name); tvScore = itemView.findViewById(R.id.tv_score);

}

public void bind(Movie movie){ tvName.setText(movie.getName()); tvScore.setText(String.valueOf(movie.getScore())); } } }

MainViewModel.java public class MainVIewModel extends ViewModel {

private List movies;

public MainViewModel(List movies) { this.movies = movies; }

public MainViewModel(){ this.movies = new ArrayList(); movies.add(new Movie("001", "Harry Potter",2)); movies.add(new Movie("002", "Los juegos del hambre",2)); movies.add(new Movie("003", "Pocahontas",2)); movies.add(new Movie("004", "Godzilla",2)); movies.add(new Movie("005", "Cazafantasmas",2)); movies.add(new Movie("006", "El bueno, el feo y el malo",2)); movies.add(new Movie("007", "Jurasic Park",2)); movies.add(new Movie("008", "Avatar",2)); movies.add(new Movie("009", "Los otros",2)); movies.add(new Movie("010", "Frozen",2)); movies.add(new Movie("011", "Mickey Mouse",2)); movies.add(new Movie("012", "Coco",2)); movies.add(new Movie("013", "Los increibles",2)); movies.add(new Movie("014", "Los increibles II",2)); }

}

MainActivity.java import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.support.v7.widget.LinearLayoutManager; import android.support.v7.widget.RecyclerView;

import androidx.lifecycle.ViewModelProviders;

public class MainActivity extends AppCompatActivity {

private RecyclerView rv; private RecyclerView.LayoutManager layoutManager;

private MovieAdapter adapter; private MainVIewModel mainViewModel;

@Override protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);

this.mainViewModel = ViewModelProviders.of(this).get(MainVIewModel.class); this.rv = findViewById(R.id.rv); this.layoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false); this.adapter = new MovieAdapter(this);

rv.setAdapter(adapter); rv.setLayoutManager(layoutManager); adapter.setMovies(mainViewModel.getMovies()); } }...


Similar Free PDFs