Recyclerview Tarea

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 5

Clase AdaptadorPersonajes

public class AdaptadorPersonajes extends


RecyclerView.Adapter<AdaptadorPersonajes.ViewHolderPersonajes>{

public static final String Nombre = "Nombre";


public static final String descripcion = "descripcion";

ArrayList<PersonajeVo> listaPersonajes;

public AdaptadorPersonajes(ArrayList<PersonajeVo> listaPersonajes)


{
this.listaPersonajes = listaPersonajes;
}

@Override
public ViewHolderPersonajes onCreateViewHolder( ViewGroup parent,
int i) {

View view=
LayoutInflater.from(parent.getContext()).inflate(R.layout.iem_list_per
sonajes,null,false);
return new ViewHolderPersonajes(view);
}

@Override
public void onBindViewHolder( ViewHolderPersonajes holder, int
position) {

holder.etiNombre.setText(listaPersonajes.get(position).getNombre());

holder.etiInformacion.setText(listaPersonajes.get(position).getInfo())
;

holder.foto.setImageResource(listaPersonajes.get(position).getFoto());

@Override
public int getItemCount() {
return listaPersonajes.size();
}

public class ViewHolderPersonajes extends RecyclerView.ViewHolder


implements View.OnClickListener {
TextView etiNombre,etiInformacion;
ImageView foto;

public ViewHolderPersonajes(@NonNull View itemView) {


super(itemView);
itemView.setOnClickListener(this);
etiNombre= (TextView)
itemView.findViewById(R.id.idNombre);
etiInformacion= (TextView)
itemView.findViewById(R.id.idInfo);
foto= (ImageView) itemView.findViewById(R.id.idImagen);
}

@Override
public void onClick(View v) {
Context context = v.getContext();
int position = getAdapterPosition();
PersonajeVo personaje = listaPersonajes.get(position);
Intent intent = new Intent(v.getContext(),
EditarPersonaje.class);
intent.putExtra(Nombre, personaje.getNombre());
intent.putExtra(descripcion,personaje.getInfo());
context.startActivity(intent);

}
}
}

clase EditarPersonaje

public class EditarPersonaje extends AppCompatActivity {

private String nombre;


private String info;

TextView tvnombre;
TextView tvinfo;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);

setContentView(R.layout.activity_editar_personaje);

nombre = getIntent().getStringExtra(Nombre);
info = getIntent().getStringExtra(descripcion);

tvnombre = (TextView)findViewById(R.id.textView);
tvnombre.setText(nombre);
tvinfo = (TextView)findViewById(R.id.textView2);
tvinfo.setText(info);

public void onClick(View view) {


finish();
}
}

clase MainActivity

public class MainActivity extends AppCompatActivity {

private ArrayList<PersonajeVo> listaPersonajes;


private RecyclerView recyclerPersonajes;
private AdaptadorPersonajes adaptador;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listaPersonajes=new ArrayList<>();
recyclerPersonajes= (RecyclerView)
findViewById(R.id.RecyclerId);
recyclerPersonajes.setLayoutManager(new
LinearLayoutManager(this));

llenarPersonajes();
inicializaAdaptador();

AdaptadorPersonajes adapter=new
AdaptadorPersonajes(listaPersonajes);
recyclerPersonajes.setAdapter(adapter);

private void llenarPersonajes() {


listaPersonajes.add(new PersonajeVo("Krusty","Herschel
Shmoikel Pinkus Yerocham Krustofsky, conocido como Krusty el payaso,
es un personaje de la serie de dibujos animados Los
Simpson.",R.drawable.krusti));
listaPersonajes.add(new PersonajeVo("Homero","Homer Jay
Simpson es uno de los protagonistas de la serie. Es el padre de la
familia protagonista y uno de los personajes centrales y más
importantes de la serie.",R.drawable.homero));
listaPersonajes.add(new PersonajeVo("Marge","Marjorie
\"Marge\" Bouvier Simpson una de los protagonistas de la serie. Es la
esposa de Homer Simpson y madre de los tres hijos que ha tenido de
esta unión amorosa: Bart, Lisa y Maggie. ",R.drawable.marge));
listaPersonajes.add(new PersonajeVo("Bart","Bartholomew JoJo
«Bart» Simpson, es uno de los protagonistas de la serie. Bart tiene 10
años y es el primogénito, y único hijo varón de Homer y Marge Simpson.
",R.drawable.bart));
listaPersonajes.add(new PersonajeVo("Lisa","Lisa Marie Simpson
es una de las protagonistas de la serie. Es la hija mediana de Homer y
Marge Simpson, y hermana de Bart y Maggie. Goza de notable
protagonismo y complejidad en la serie.",R.drawable.lisa));
listaPersonajes.add(new PersonajeVo("Magie","Margaret Evelyn
\"Maggie\" Simpson es una de las protagonistas de la serie. Es la
tercera hija del matrimonio protagonista, Homer y Marge Simpson, y la
más joven de ellos.",R.drawable.magie));
listaPersonajes.add(new PersonajeVo("Flanders","Nedward «Ned»
Flanders es un personaje ficticio de la serie de televisión de dibujos
animados Los Simpson. La voz original en inglés es de Harry
Shearer.",R.drawable.flanders));
listaPersonajes.add(new PersonajeVo("Milhouse","Milhouse
Mussolini Van Houten es un personaje ficticio de la serie animada Los
Simpson, creado por Matt Groening.",R.drawable.milhouse));
listaPersonajes.add(new PersonajeVo("Mr. Burns","Charles
Montgomery Burns, más conocido como el señor Burns o Monty Burns, es
un personaje ficticio recurrente de la serie de televisión de dibujos
animados Los Simpson, creada por Matt Groening.",R.drawable.burns));

}
private void inicializaAdaptador() {
adaptador = new AdaptadorPersonajes(listaPersonajes);
recyclerPersonajes.setAdapter(adaptador);
}
private ItemTouchHelper.Callback createHelperCallback(){
ItemTouchHelper.SimpleCallback simpleItemTouchCallback =
new ItemTouchHelper.SimpleCallback(ItemTouchHelper.UP
| ItemTouchHelper.DOWN,
ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT){

@Override
public boolean onMove(RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {

moveItem(viewHolder.getAdapterPosition(),target.getAdapterPosition());
return false;
}

@Override
public void onSwiped(RecyclerView.ViewHolder
viewHolder, int direction) {
deleteItem(viewHolder.getAdapterPosition());
}
};
return simpleItemTouchCallback;
}
private void moveItem(int oldPos, int newPos){
PersonajeVo item= (PersonajeVo)listaPersonajes.get(oldPos);
listaPersonajes.remove(oldPos);
listaPersonajes.add(newPos, item);
adaptador.notifyItemMoved(oldPos, newPos);
}

private void deleteItem(final int position){

listaPersonajes.remove(position);
adaptador.notifyItemRemoved(position);

clase PersonajeVo
public class PersonajeVo {

private String nombre;


private String info;
private int foto;

public PersonajeVo(){

public PersonajeVo(String nombre, String info, int foto) {


this.nombre = nombre;
this.info = info;
this.foto = foto;
}

public String getNombre() {


return nombre;
}

public void setNombre(String nombre) {


this.nombre = nombre;
}

public String getInfo() {


return info;
}

public void setInfo(String info) {


this.info = info;
}

public int getFoto() {


return foto;
}

public void setFoto(int foto) {


this.foto = foto;
}
}

implementation 'com.android.support:recyclerview-v7:28.0.0'

También podría gustarte