簡體   English   中英

我需要在列表視圖中添加一個imageview或webview

[英]I need to add a imageview or webview in my listview

我有問題 我得到了一些代碼,由於太大了,所以我不會將其全部放在這里。 但是我有一個列表視圖。 我這樣做是這樣的:

lv = (ListView) findViewById(R.id.list);

(Here is normally some asynctask code and stuff)

// list adapter
ListAdapter adapter = new SimpleAdapter(MainActivity.this, placesListItems,
R.layout.list_item, new String[] { KEY_REFERENCE, KEY_NAME, KEY_VICINITY, KEY_DISTANCE,
     KEY_LOCATION}, new int[] { R.id.reference, R.id.name, R.id.vicinity, R.id.radius, R.id.location});

// Adding data into listview

lv.setAdapter(adapter);

現在,問題是我得到了一個URL,站點上唯一的一件事就是圖像。 來自Google Place Photos。 現在我要在列表視圖中顯示圖像。 因此,在每個項目中都有另一個圖像。

我可以用imageview或webview來做。

因此,讓我們說一下網址存儲在其中:

KEY_URL;

而imageview或webview是這樣的:

R.id.image;

我怎樣才能做到這一點?

提前致謝!!

首先,

WebView比ImageView占用更多的內存。 因此,我建議您使用ImageView。

第二

查看以下網址。

延遲加載ListView中的圖像

在本文中,我使用的第一個庫是小型且可自定義的庫。 它使用線程池,似乎可以控制傳輸。 我還沒有使用的第二個庫更大。 但是此庫中的更多方法似乎使控制各種配置變得容易。

最后,

我認為您應該創建自己的適配器,擴展SimpleAdapter(或CursorAdapter或…)。 像下面的偽代碼。

public class MySimpleAdapter extends SimpleAdapter {
    private ImageLoader mImageLoader;
    private int mResource;
    private LayoutInflater inflater;
    public static class ViewHolder {
        public ImageView img;
        public TextView txt;
    }

    public MySimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to) {
        super(context, data, resource, from, to);
        mResource = resource;
        mImageLoader = new ImageLoader(context);
        inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder;
        if (convertView == null) {
            convertView = inflater.inflate(R.layout.cell_text, null);
            holder      = new ViewHolder();
            holder.txt  = (TextView) convertView.findViewById(R.id.txt);
            holder.img  = (ImageView) convertView.findViewById(R.id.img);
            convertView.setTag(holder);
        }
        else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.txt.setText("something text");
        mImageLoader.displayImage("url", holder.img);
        return convertView;
    }
}

您可以使用[androidQuery] https://code.google.com/p/android-query/它具有一個線程池。 它以不同的方式加載圖像。 可以選擇降低樣本圖像以節省內存。 谷歌制造:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM