Greetings,
My problem is that the images I have in CardViews are not shown until I scroll, I'm using the Picasso library.
Do you know how I can solve this, so that when I open the application, it shows?
In advance, thank you very much.
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>
{
private List<Unidades> unidad;
private int layout;
private OnItemClickListener itemClickListener;
private Context context;
public MyAdapter(List<Unidades> unidad, int layout, OnItemClickListener listener)
{
this.unidad = unidad;
this.layout = layout;
this.itemClickListener = listener;
}
@Override
public MyAdapter.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View v = LayoutInflater.from(parent.getContext()).inflate(layout, parent, false);
context = parent.getContext();
return new ViewHolder(v);
}
@Override
public void onBindViewHolder(MyAdapter.ViewHolder holder, int position) {
holder.bind(unidad.get(position), itemClickListener);
}
@Override
public int getItemCount() {
return unidad.size();
}
class ViewHolder extends RecyclerView.ViewHolder
{
TextView textViewTitulo;
TextView textViewDes;
ImageView imageViewUnidad;
ViewHolder(View itemView) {
super(itemView);
imageViewUnidad = itemView.findViewById(R.id.imageViewUnidad);
textViewTitulo = itemView.findViewById(R.id.textViewTitulo);
textViewDes = itemView.findViewById(R.id.textViewDes);
}
void bind(final Unidades unidad, final OnItemClickListener listener)
{
Picasso.with(context).load(unidad.getImg()).fit().into(imageViewUnidad);
textViewTitulo.setText(unidad.getTitulo());
textViewDes.setText(unidad.getDescrip());
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
listener.onItemClick(unidad, getAdapterPosition());
}
});
}
}
public interface OnItemClickListener
{
void onItemClick(Unidades unidades, int position);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
unidad = this.getAllUnidades();
componentes();
configuration();
}
private void componentes()
{
mRecyclerView = findViewById(R.id.recyclerView);
mLayoutManager = new LinearLayoutManager(this);
mAdapter = new MyAdapter(unidad, R.layout.recycler_view_item, new MyAdapter.OnItemClickListener() {
@Override
public void onItemClick(Unidades unidad, int position) {
}
});
}
private void configuration()
{
mRecyclerView.setHasFixedSize(true);
mRecyclerView.setItemAnimator(new DefaultItemAnimator());
mRecyclerView.setLayoutManager(mLayoutManager);
mRecyclerView.setAdapter(mAdapter);
}