0% encontró este documento útil (0 votos)
88 vistas5 páginas

Adaptador de Personajes en Android

El documento describe una aplicación Android que muestra una lista de personajes de Los Simpson en un RecyclerView. Incluye clases AdaptadorPersonajes para enlazar los datos con las vistas, ViewHolderPersonajes para las vistas individuales, PersonajeVo para los objetos de datos y MainActivity para inicializar y mostrar el RecyclerView.

Cargado por

Marvin Valdospin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
88 vistas5 páginas

Adaptador de Personajes en Android

El documento describe una aplicación Android que muestra una lista de personajes de Los Simpson en un RecyclerView. Incluye clases AdaptadorPersonajes para enlazar los datos con las vistas, ViewHolderPersonajes para las vistas individuales, PersonajeVo para los objetos de datos y MainActivity para inicializar y mostrar el RecyclerView.

Cargado por

Marvin Valdospin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

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