1

文字列 URL からビューの背景を設定したい。このコードを使用して、ドローアブルから画像を設定しました。

サンプル URL

View rightv = row.findViewById(R.id.four);
rightv.setBackgroundResource(R.drawable.demoimage);
rightv.setTag(position);
rightv.setOnClickListener(MembersDealActivity_a.this);

しかし、URLから同じことをしようとしたとき、うまくいきませんでした。この種のコードも試しましたが、どちらも機能しませんでした:

Drawable res = getResources().getDrawable(imageResource);
right.setBackgroundDrawable(res);
right.setTag(position);
right.setOnClickListener(MembersDealActivity_a.this);

Picasso ライブラリも使用しようとしましたが、パラメータ ビューに値を設定するように要求されたときに、そこにキャストできません。

Picasso.with(this)
    .load(imag_link).resize(600, 350)
    .into(imv);

完全なコード:

public class MyActivity extends Activity implements
        AdapterView.OnItemClickListener, View.OnClickListener {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        ListView list = new ListView(this);
        setContentView(list);

        String[] items = { "Tom", "Sally", "Bill", "John", "Santiago",
                "Isabella" };

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
                R.layout.review, R.id.textView1, items) {
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                View row = super.getView(position, convertView, parent);


                View text = row.findViewById(R.id.seemore);
                text.setTag(position);
                text.setOnClickListener(MyActivity.this);



                View left = row.findViewById(R.id.imageView1);
                left.setBackgroundResource(R.drawable.newapture);
                left.setTag(position);
                left.setOnClickListener(MyActivity.this);


                return row;
            }
        };
4

6 に答える 6

1

これを試して..URL url = new URL(Your Url); Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); imageView.setImageBitmap(bmp);

于 2013-07-05T05:51:40.840 に答える
1

あなたはこれを試すことができます

Bitmap bitmap = BitmapFactory.decodeStream(imageUrl.openConnection().getInputStream());
BitmapDrawable background = new BitmapDrawable(getResources(), bitmap);
rightv.setBackgroundDrawable(background);
于 2013-07-05T05:52:02.423 に答える
0

URLからImageViewに画像をロードするためのクラスを使用しています:

1. クラス ImageFromUrlUtil.java を作成します。

package com.ntjp.halalnavi.guide.util;

import android.graphics.Bitmap.Config;
import android.widget.ImageView;

import com.ntjp.halalnavi.guide.R;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.assist.ImageScaleType;
import com.nostra13.universalimageloader.core.display.FadeInBitmapDisplayer;
import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;
import com.nostra13.universalimageloader.core.listener.ImageLoadingListener;

public class ImageFromUrlUtil {

    public static void displayImage(ImageView view, String path, ImageLoadingListener listener) {
        ImageLoader loader = ImageLoader.getInstance();
        try {
            loader.displayImage(path, view, DEFAULT_DISPLAY_IMAGE_OPTIONS, listener);
        } catch (OutOfMemoryError e) {
            e.printStackTrace();
            loader.clearMemoryCache();
        }
    }

    public static void displayRoundImage(ImageView view, String path, ImageLoadingListener listener) {
        ImageLoader loader = ImageLoader.getInstance();
        try {
            loader.displayImage(path, view, ROUND_DISPLAY_IMAGE_OPTIONS, listener);
        } catch (OutOfMemoryError e) {
            e.printStackTrace();
            loader.clearMemoryCache();
        }
    }

    public static void loadImage(String path, ImageLoadingListener listener) {
        ImageLoader loader = ImageLoader.getInstance();
        try {
            loader.loadImage(path, DEFAULT_DISPLAY_IMAGE_OPTIONS, listener);
        } catch (OutOfMemoryError e) {
            e.printStackTrace();
        }
    }

    //TODO Change default image
    private static final DisplayImageOptions.Builder DEFAULT_DISPLAY_IMAGE_OPTIONS_BUIDLER = new DisplayImageOptions.Builder()
            .imageScaleType(ImageScaleType.IN_SAMPLE_POWER_OF_2)
            .displayer(new FadeInBitmapDisplayer(300, true, false, false))
            .showImageForEmptyUri(R.drawable.default_image)
            .showImageOnLoading(R.drawable.default_image)
            .showImageOnFail(R.drawable.default_image).cacheOnDisk(true)
            .cacheInMemory(true).bitmapConfig(Config.ARGB_8888);

    private static final DisplayImageOptions DEFAULT_DISPLAY_IMAGE_OPTIONS = DEFAULT_DISPLAY_IMAGE_OPTIONS_BUIDLER
            .build();
    private static final DisplayImageOptions ROUND_DISPLAY_IMAGE_OPTIONS = DEFAULT_DISPLAY_IMAGE_OPTIONS_BUIDLER
            .displayer(new RoundedBitmapDisplayer(500)).build();
}

次に、任意の場所からこのメソッドを呼び出します。

丸みを帯びた画像の場合:

ImageUtil.displayRoundImage(avt, avtUrl, null);

通常の画像の場合:

ImageUtil.displayImage(thumb, avtUrl, null);

最後に、このライブラリをプロジェクトに追加します: Link

于 2015-01-17T15:55:45.040 に答える
0

このコードを使用すると、これが役立つ場合があります...

URL url = new URL(Your URL);
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); imageView.setImageBitmap(bmp);

または、これらのリンクを参照してくださいここをクリック

于 2013-07-05T05:52:02.590 に答える