Я изучаю загрузку изображений в GridView с помощью Picasso. Я попытался загрузить локальные изображения с возможностью рисования, но gridview показывает пустое. Я проверил решение на другом посту, но не нашел удовлетворительного ответа. Только найдено this решение, которое не работает. Любое предложение по загрузке локальных изображений было бы высоко оценено.Загрузка локальных изображений с использованием Picasso
Adapter to load images
public class ImageAdapter extends BaseAdapter {
private Context mContext;
// Keep all Images in array
public Integer[] mThumbIds = {};
public ImageAdapter(Context c){
mContext = c;
}
\t @Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return mThumbIds[position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
Picasso.with(mContext).load(mThumbIds[position]).into(imageView);
return imageView;
}
}
Fragment having gridview
public class GridFrag extends Fragment{
public Integer[] mThumbIds = { R.drawable.brazil, R.drawable.colosseum,
R.drawable.eiffeltower, R.drawable.greatwall, R.drawable.pyramid,
R.drawable.statue, R.drawable.tajmahal };
\t
\t @Override
\t public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
\t
\t //Inflate the layout for this fragment
\t \t
\t \t View v = LayoutInflater.from(getActivity()).inflate(R.layout.frag_grid, null);
\t \t
\t \t GridView gridview = (GridView) v.findViewById(R.id.gridview);
\t gridview.setAdapter(new ImageAdapter(this.getActivity()));
\t
\t return v;
\t }
}
Черт, хороший ответ. Я должен был подумать об этом сам. Большое спасибо человеку. @astuter –