Залп - NetworkImageView иногда не показывает изображение ошибки?
Так что я'мы решили попробовать новыйЗалп библиотека как показано наGoogle IO 2013.I '
мы попробовали это, используя простое решениеNetworkImageView
показать несколько изображений на.GridView
Он работает хорошо и показывает изображения, но если я позволю ему загрузить изображения, а затем отключу WiFi во время загрузки, он нене показывает ошибку, как будто все еще загружается. Не только это, но если я восстановлю связь, это невозобновить загрузку.
Почему это происходит, и как я могу это исправить? Может быть это'На самом деле это ошибка?
Вот's мой пример кода, если кто-то хочет попробовать его (BitmapCacheLru
кодВот):
public class MainActivity extends Activity {
private static final int COLUMNS_COUNT = 4;
private RequestQueue _requestQueue;
private ImageLoader _imageLoader;
@Override
protected void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
_requestQueue=Volley.newRequestQueue(this);
_imageLoader=new ImageLoader(_requestQueue, new BitmapLruCache());
final GridView gridView = new GridView(this);
gridView.setNumColumns(COLUMNS_COUNT);
final int screenWidth = getResources().getDisplayMetrics().widthPixels;
gridView.setAdapter(new BaseAdapter() {
@Override
public View getView(final int position, final View convertView, final ViewGroup parent) {
NetworkImageView rootView = (NetworkImageView) convertView;
if (rootView == null) {
rootView = new NetworkImageView(MainActivity.this);
rootView.setLayoutParams(new AbsListView.LayoutParams(screenWidth / COLUMNS_COUNT, screenWidth / COLUMNS_COUNT));
rootView.setScaleType(ScaleType.CENTER_CROP);
rootView.setDefaultImageResId(android.R.drawable.sym_def_app_icon);
rootView.setErrorImageResId(android.R.drawable.ic_dialog_alert);
}
final String url = getItem(position);
rootView.setImageUrl(url, _imageLoader);
return rootView;
}
@Override
public long getItemId(final int position) {
return 0;
}
@Override
public String getItem(final int position) {
return Images.imageThumbUrls[position];
}
@Override
public int getCount() {
return Images.imageThumbUrls.length;
}
});
setContentView(gridView);
}
@Override
protected void onStop() {
_requestQueue.cancelAll(this);
super.onStop();
}
}
Постскриптум Если вы хотите увидеть кодNetworkImageView
, Я думаю это'доступноВот .