0

問題が発生しました。大きすぎるため、ここにすべてを配置するつもりはないコードがいくつかあります。しかし、私はリストビューを取得しました。そして、私は次のようにします:

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 を取得しましたが、サイトにあるのは画像だけです。グーグルプレイスフォトからです。今、リストビューに画像が必要です。したがって、すべてのアイテムに別のイメージがあります。

イメージビューまたはウェブビューでそれを行うことができます。

それでは、URLがこれに保存されているとしましょう:

KEY_URL;

イメージビューまたはウェブビューは次のとおりです。

R.id.image;

これどうやってするの?

前もって感謝します!!

4

2 に答える 2

0

初めに、

WebViewはImageViewよりも多くのメモリを消費します。したがって、ImageViewを使用することをお勧めします。

第二に、

以下のURLをチェックしてください。

ListViewでの画像の遅延読み込み

この記事では、私が使用した最初のライブラリは、小さくてカスタマイズ可能なライブラリです。スレッドプールを使用し、転送を制御しているようです。私が使っていない2番目のライブラリはもっと​​大きいです。しかし、このライブラリのメソッドが増えると、さまざまな構成を簡単に制御できるようになります。

ついに、

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;
    }
}
于 2013-01-22T11:20:43.850 に答える
0

[androidQuery] https://code.google.com/p/android-query/を使用でき ます。スレッドプールがあります。さまざまな方法で画像をロードします。メモリを節約するためにサンプル画像をダウンするオプションがあります。グーグル製:)

于 2014-06-12T09:09:35.843 に答える