Android:带图库的 Volley 图像加载器
Android: Volley Image loader with gallery
我正在尝试使用 Volley 的 ImageLoader 实现 Gallery 元素。在以下请求中,我收到一个包含一些 URL 的列表,这些 URL 将显示在图库中。我的问题是图库没有显示任何内容。
RestApiAdapter.getImages("Food", new RestApiAdapter.RestApiCallBack<List<String>>() {
@Override
public void execute(List<String> object) {
GaleriaAdapter gAdapter = new GaleriaAdapter(foodFragmentView.getContext());
gAdapter.setImages(object);
((Gallery) foodFragmentView.findViewById(R.id.gallery)).setAdapter(gAdapter);
}
});
现在是适配器
import com.android.volley.toolbox.ImageLoader;
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String url = (String) getItem(position);
ImageLoader imgLoader = VolleyRequest.getInstance(null).getImageLoader();
NetworkImageView imgView = new NetworkImageView(context);
imgView.setImageUrl(url, imgLoader);
return imgView;
}
将适配器添加到 Grid 后是否通知数据集更改()?
gAdapter.notifyDataSetChanged();
一段时间后,我设法找出了问题所在。基本上它缺少我假设的请求本身
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String url = (String) getItem(position);
NetworkImageView imgView = new NetworkImageView(context);
ImageLoader imgLoader = VolleyRequest.getInstance(null).getImageLoader();
// This line of code
imgLoader.get(url, ImageLoader.getImageListener(imgView, LOADING_IMG, ERROR_IMG));
imgView.setImageUrl(url, imgLoader);
return imgView;
}
来源:http://www.truiton.com/2015/03/android-volley-imageloader-networkimageview-example/
我正在尝试使用 Volley 的 ImageLoader 实现 Gallery 元素。在以下请求中,我收到一个包含一些 URL 的列表,这些 URL 将显示在图库中。我的问题是图库没有显示任何内容。
RestApiAdapter.getImages("Food", new RestApiAdapter.RestApiCallBack<List<String>>() {
@Override
public void execute(List<String> object) {
GaleriaAdapter gAdapter = new GaleriaAdapter(foodFragmentView.getContext());
gAdapter.setImages(object);
((Gallery) foodFragmentView.findViewById(R.id.gallery)).setAdapter(gAdapter);
}
});
现在是适配器
import com.android.volley.toolbox.ImageLoader;
...
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String url = (String) getItem(position);
ImageLoader imgLoader = VolleyRequest.getInstance(null).getImageLoader();
NetworkImageView imgView = new NetworkImageView(context);
imgView.setImageUrl(url, imgLoader);
return imgView;
}
将适配器添加到 Grid 后是否通知数据集更改()?
gAdapter.notifyDataSetChanged();
一段时间后,我设法找出了问题所在。基本上它缺少我假设的请求本身
@Override
public View getView(int position, View convertView, ViewGroup parent) {
String url = (String) getItem(position);
NetworkImageView imgView = new NetworkImageView(context);
ImageLoader imgLoader = VolleyRequest.getInstance(null).getImageLoader();
// This line of code
imgLoader.get(url, ImageLoader.getImageListener(imgView, LOADING_IMG, ERROR_IMG));
imgView.setImageUrl(url, imgLoader);
return imgView;
}
来源:http://www.truiton.com/2015/03/android-volley-imageloader-networkimageview-example/