viewholder studio recyclerview dependency create card and android android-recyclerview android-viewholder recycler-adapter

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.

Documentación de Oracle Java - Clases anidadas

¿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); } }