android - studio - Por qué usar static con RecyclerView.ViewHolder
recyclerview vs listview (1)
La clase interna contiene referencia a la clase externa. Por lo tanto, significa que cada instancia de su RecyclerView.ViewHolder
contendrá una referencia a su RecyclerView.Adapter
.
Al hacerlo static
evitas mantener esta referencia.
Esta pregunta ya tiene una respuesta aquí:
¿Por qué se recomienda utilizar static
para una class
extendida desde RecyclerView.ViewHolder
si creo una nueva instancia de esta clase en el método onCreateViewHolder
y supongo que esa instancia se usa para cada elemento?
@Override
public RecyclerViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_recyclerview,parent,false);
return new RecyclerViewAdapter.RecyclerViewHolder(view);
}
@Override
public void onBindViewHolder(RecyclerViewHolder holder, int position) {
String textTop = noticias.get(position).getHora()+ noticias.get(position).getTemperatura();
holder.textViewTop.setText(textTop);
holder.textViewBot.setText(noticias.get(position).getTexto());
}
public static class RecyclerViewHolder extends RecyclerView.ViewHolder{
public TextView textViewTop;
public TextView textViewBot;
public RecyclerViewHolder(View view){
super(view);
textViewTop = (TextView) view.findViewById(R.id.textView4);
textViewBot = (TextView) view.findViewById(R.id.textView5);
}
}