0

您好我正在尝试从服务器加载图像并将它们动态添加到滚动视图内的线性布局中

protected void onPostExecute(ArrayList<RssItem> result) {
    Log.i("Async-Example", "onPostExecute Called");
    horview = (HorizontalScrollView) aview.findViewById(R.id.homesection);
    LinearLayout ll = (LinearLayout) aview.findViewById(R.id.sectionid);
    for(int i = 0; i < rssItems.size(); i++){
        try{
        image = new ImageView(getActivity());
        image.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
        //text.setText(data.get(position).getTitle());
        aview.setTag(rssItems.get(i).getLink());
        image.setFocusable(true);
        imageLoader.DisplayImage(rssItems.get(i).getLink(), image);
        ll.addView(image);  

    }catch(Exception e) {

    }
}

我面临的问题是:如果我在 xml 中的 LinearLayout 中声明 ImageView,则只添加来自服务器的最后一个图像。但是如果我不声明ImageView内部线性布局而是实例化并添加到它,来自服务器的图像都不会替换我的实际默认图标

4

2 回答 2

0

您不应该在 LinearLayout 中添加带有 XML 的 ImageView,因为这只会导致单个视图被膨胀。在旅途中启动 ImageViews 应该可以工作,但对我来说,这听起来像是您正在尝试加载从网站获取的图像列表,在这种情况下,您通常会使用带有自定义适配器的 ListView。网上有很多教程: http ://www.androidhive.info/2012/02/android-custom-listview-with-image-and-text/

我认为您代码中的问题与 imageLoader 有关。如果您遇到问题,您可以随时尝试另一种方法,例如http://square.github.io/picasso/并致电

Picasso.with(getActivity()).load(rssItems.get(i).getLink()).into(image);
于 2013-09-26T07:49:23.617 回答
0

这是在 gridview、listview 和 pager 中显示图像的绝佳示例。看一下这个

https://github.com/nostra13/Android-Universal-Image-Loader

根据您的需要更改它

于 2013-09-26T06:56:54.107 回答