日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android Widget 中ListView加载网络图片

發布時間:2025/3/20 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android Widget 中ListView加载网络图片 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為什么80%的碼農都做不了架構師?>>> ??

關于Widget的介紹和用法可以看這兩篇博文,寫的非常詳細了

Android 之窗口小部件詳解--App Widget?http://www.cnblogs.com/skywang12345/p/3158310.html?

Android 之窗口小部件高級篇--App Widget 之 RemoteViews?http://www.cnblogs.com/skywang12345/p/3264991.html

上面兩篇博文沒有提到怎么給Widget中的ListView或者GridView中顯示網絡圖片,而我們的項目的需求中需要Widget中的ListView填充接口獲得的文字和圖片,試過很多方法最后發現還是以下這種偽同步比較讓人滿意。

private Map<Integer, Boolean> flags = Collections.synchronizedMap(new HashMap<Integer, Boolean>());private Bitmap mBitmap;private Handler handler = new Handler(Looper.getMainLooper());@Overridepublic RemoteViews getViewAt(final int position) { //這里初始化RemoteView,設置監聽,等等....flags.put(position, false);handler.post(new Runnable() {@Overridepublic void run() {//這里用了ImageLoader,或者別的帶有加載回調加載庫ImageLoader.getInstance().loadImage(datas.get(position).getImgUrl, new SimpleImageLoadingListener() {@Overridepublic void onLoadingStarted(String imageUri, View view) {}@Overridepublic void onLoadingFailed(String imageUri, View view, FailReason failReason) {flags.put(position, true);}@Overridepublic void onLoadingCancelled(String imageUri, View view) {flags.put(position, true);}@Overridepublic void onLoadingComplete(String arg0, View arg1, Bitmap bitmap) {mBitmap = bitmap;flags.put(position, true);}});}});//在此一直等待獲取到網絡圖片while (!flags.get(position)) {try {Thread.sleep(2000);} catch (InterruptedException e) {e.printStackTrace();}}flags.put(position, false);if (mBitmap != null) {mRemoteViews.setImageViewBitmap(R.id.widget_item_image, mBitmap);} else {mRemoteViews.setImageViewResource(R.id.widget_item_image, R.mipmap.ic_launcher);}mBitmap = null;return mRemoteViews;}

轉載于:https://my.oschina.net/yaly/blog/674642

總結

以上是生活随笔為你收集整理的Android Widget 中ListView加载网络图片的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。