0

当我为触摸滑动画廊编写代码时,我最终陷入了死胡同……至少在我看来。首先,我将一些可绘制对象存储到一个数组中:

private int[] SeqImages = new int[] {
R.drawable.img1,
R.drawable.img2,
R.drawable.img3,
R.drawable.img4
};

然后我写了这段代码来对图像进行排序:

...
imageView.setImageResource(SeqImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
...

它就像一个魅力!但是……愚弄我!我需要用存储在 sd 文件夹中的图像做同样的事情,我有点迷茫。我想列出如下文件:

File imglista = new File("/path/of/my/pics");
String[] imginfolder = imglista.list();

显然这不是解决方案......有人有更好的想法吗?THX 给所有人。

4

1 回答 1

0

要从用于 SDCARD 路径的文件夹中获取所有文件,Environment.getExternalStorageDirectory()而不是传递静态字符串,请执行以下操作:

 String root_sd = Environment.getExternalStorageDirectory().toString();
 imglista = new File( root_sd + "/images_path_on_sdcard" ) ;       
 File imginfolder[] = imglista.listFiles();

并确保您已在以下位置添加 SD-CARD 权限AndroidManifest.xml

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

编辑:为了在 SD-CARD 的 ImageView 中显示图像,请使用BitmapFactory.decodeFile

 Bitmap bitmap = BitmapFactory.decodeFile(imginfolder[position].getAbsolutePath());
 ...
 img_view.setImageBitmap(bitmap);
于 2013-06-04T12:26:52.513 回答