Проблема заключается в том, что ширина ImageView является 0 (проверить его с помощью: Poster.getWidth();
), поэтому вы не видите изображения, Выборочная адаптер отлично.
Вы можете это исправить, используя setLayoutParams
установить ширину/высоту до imageView
как на примере ниже:
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.gridview_item, null);
//Get screen size, and divide it by the number of columns of your grid view.
int width = getContext().getResources().getDisplayMetrics().widthPixels/2;
((ImageView) convertView.findViewById(R.id.gridview_item_image)).setLayoutParams(new GridView.LayoutParams(width, width));
}
ImageView Poster = (ImageView) convertView.findViewById(R.id.gridview_item_image);
Picasso.with(getContext())
.load(getItem(position))
.fit()
.centerCrop()
.into(Poster);
Или другой подход с использованием Picasso.resize
//Get screen size, and divide it by the number of columns of your grid view.
int width = getContext().getResources().getDisplayMetrics().widthPixels/2;
ImageView Poster = (ImageView) convertView.findViewById(R.id.gridview_item_image);
Picasso.with(getContext())
.load(getItem(position))
.resize(width, width)
.centerCrop()
.into(Poster);
Вместо .centerCrop()
вы можете использование .centerInside()
- Использование
.centerCrop()
- Использование
'.centerInside()'
(Это будет соблюдать соотношение сторон изображения).
Вы могли бы посмотреть в этом [например] (https://github.com/natangr/CheesecakeChallenge/tree/natan/app/src/main/java/com/example/naan/cheesecakechallenge). – Natan