【问题标题】:Android, load images from a specific folder into gallery viewAndroid,将特定文件夹中的图像加载到图库视图中
【发布时间】:2011-03-26 20:44:54
【问题描述】:

大家好,你们好吗?我已经为我的应用程序设置了一个图库视图,我想从我的 sdcard 上的特定图像文件夹中加载此视图中的图像。有人可以帮助我吗,因为我搜索了很多,但提供的解决方案都没有奏效。

我已成功地将 RES/DRAWABLE 文件夹中的图像加载到我的画廊视图中,但在我最初的计划中从未成功。

这是我在从 RES/DRAWABLE 文件夹加载图像时使用的 imageadapter 类

public class ImageAdapter extends BaseAdapter 
{

        public ImageAdapter(Context c) 
        {
            mContext = c;
        }

        public int getCount() 
        {
            return mThumbIds.length;
        }

        public Object getItem(int position) 
        {
            return position;
        }

        public long getItemId(int position) 
        {
            return position;
        }

        public View getView(int position, View convertView, ViewGroup parent) 
        {
            ImageView imageView;
            if (convertView == null)
            {
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new Gallery.LayoutParams(100, 100));
                imageView.setAdjustViewBounds(false);
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(18, 18, 18, 18);
            } 
            else 
            {
                imageView = (ImageView) convertView;
            }

            imageView.setImageResource(mThumbIds[position]);

            return imageView;
        }

        private Context mContext;

        private Integer[] mThumbIds = 
        {
               R.drawable.image_1,
               R.drawable.image_2,
               R.drawable.image_3,
               R.drawable.image_4
        };
}

【问题讨论】:

    标签: android image view gallery sd-card


    【解决方案1】:

    Here 是我用来做你想做的事的教程。如果没有帮助,我可以发布我用来抓取直接存储在设备(而不是 sd 卡)上的图片的代码。

    【讨论】:

    • 嘿,谢谢,我只是来这里说我设法解决了它,看起来它几乎与本指南讨论它的方式相同......我使用了文件输入流和缓冲输入流,我得到了列表目录中的所有文件,将每个文件读入fileinputstream并将其放入缓冲中,然后我创建一个位图并将其添加到位图数组列表中。谢谢
    • 好的,现在我有一个新问题,我无法加载超过 500kb 的图像,有什么解决办法吗?我的应用程序崩溃
    • 最有可能 - 你有 OutOfMemoryError。没有为应用程序提供如此大量的内存,并且位图不会自动释放 - 您应该使用 Bitmap.recycle() 手动删除它们。您应该根据其可见性为位图添加加载/卸载功能。
    • @aminet91 嗨,您想分享一下解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    相关资源
    最近更新 更多