-2

私はデモ画像のリンクを持っています:

http://madhabpurps.org/wp-content/uploads/2013/04/28-239x300.jpg

ビューホルダークラス内のレイアウトの背景に画像を設定したい:

static class ViewHolder {
    TextView txtName;
    TextView txtCityState;
    RelativeLayout rl;
}

holder.txtName.setText(searchArrayList.get(position).getTitle());
holder.txtCityState.setText(searchArrayList.get(position).getDescription());

ここのリンクから画像を設定する必要があります。このコード行を試しましたが、エラーが表示されます。

holder.rl.setBackgroundResource(searchArrayList.get(position).getImage());
4

2 に答える 2

0

ここから回答が得られます URL経由でFramelayoutの背景画像を変更します

private Drawable ImageOperations(Context ctx, String url, String saveFilename) {
        try {
            InputStream is = (InputStream) this.fetch(url);
            Drawable d = Drawable.createFromStream(is, saveFilename);
            return d;
        } catch (MalformedURLException e) {
            e.printStackTrace();
            return null;
        } catch (IOException e) {
            e.printStackTrace();
            return null;
        }
    }

    public Object fetch(String address) throws MalformedURLException,IOException {
        URL url = new URL(address);
        Object content = url.getContent();
        return content;
    }

そして、あなたはそれをこのように使うことができます

Drawable drw = ImageOperations(this,url,filename)
rl.setBackgroundDrawable(drw);

これで修正されるはずです。しかし、一般的なケースでは、これらの問題を解決する別の方法をお勧めします。

十分に文書化された画像のダウンロードおよびキャッシュ ライブラリを使用することをお勧めします。picasso http://square.github.io/picasso/を使用しています。ライブラリを使用してセットアップするのは簡単です。

次に、書き込むだけでイメージビューを埋めることができます

Picasso.with(activity)
 .load(url)
 .fit()
 .into(imageView);
于 2013-05-28T10:47:13.450 に答える