寻找如何使用AsyncTask在ListView中加载本地图像的简单示例?

时间:2013-11-05 09:26:18

标签: android multithreading image listview android-asynctask

我找到了一些例子,但他们展示了如何从网址加载图片。

我在

中看到了这一点

http://developer.android.com/training/improving-layouts/smooth-scrolling.html

//使用AsyncTask在后台线程中加载慢图像

new AsyncTask<ViewHolder, Void, Bitmap>() {
    private ViewHolder v;

    @Override
    protected Bitmap doInBackground(ViewHolder... params) {
        v = params[0];
        return mFakeImageLoader.getImage();
    }

    @Override
    protected void onPostExecute(Bitmap result) {
        super.onPostExecute(result);
        if (v.position == position) {
            // If this item hasn't been recycled already, hide the
            // progress and set and show the image
            v.progress.setVisibility(View.GONE);
            v.icon.setVisibility(View.VISIBLE);
            v.icon.setImageBitmap(result);
        }
    }
}.execute(holder);

我的代码

viewHolder.ivLogo.setImageResource(LogoId);

我想把这个简单的行放到AsyncTask中。

谢谢。

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

您可以使用droidQueryImageView中加载本地文件。您只需要文件路径(带有“file://”前缀),然后使用以下命令进行设置:

// assuming viewHolder.ivLogo is the ImageView
$.with(viewHolder.ivLogo).image("file:///data/apps/com.myapp/myImage.png");