0

小部件说明:

小部件由一个列表视图组成。此列表视图的每个项目都有不同的属性:

  • 标题
  • 图片网址
  • 价格
  • ...

问题 :

使用每个项目的 url,我编写了一些代码来从网络加载图像,图像很好地显示在我的列表视图中,但是当我想滚动我的列表视图时,所有项目都消失了,系统尝试加载与该项目相对应的其他图像被展示。

代码示例:

这是我执行这些操作的 getViewAt() 方法的代码:

public RemoteViews getViewAt(int position) {

    WidgetItem item = mWidgetItems.get(position);
    // We construct a remote views item based on our widget item xml file, and set the
    // text based on the position.

    SharedPreferences settings = PreferenceManager.getDefaultSharedPreferences(mContext);
    String theme = settings.getString("choixtheme", "default");

    if (theme.equals("default")) {
        rv = new RemoteViews(mContext.getPackageName(), R.layout.widget_item_default);
    }

    if (item.urlImage != "") {
            URL url = new URL(urlImage);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setDoInput(true);
            connection.connect();
            InputStream input = connection.getInputStream();
            myBitmap = BitmapFactory.decodeStream(input);   
    }       

    // Return the remote views object.
    return rv;
}
4

1 回答 1

0

你可以参考这个: http: //www.developerfusion.com/article/145373/android-listviews-with-dynamic-data/

ListView 中图像的延迟加载

希望它有帮助!

于 2013-04-25T02:20:41.860 回答