当我为触摸滑动画廊编写代码时,我最终陷入了死胡同......或者在我看来。 首先,我将一些drawable存储到一个数组中:
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给所有人。
答案 0 :(得分:0)
要从文件夹中获取所有文件,请使用Environment.getExternalStorageDirectory()
作为SDCARD路径而不是传递静态字符串,请将其作为:
String root_sd = Environment.getExternalStorageDirectory().toString();
imglista = new File( root_sd + "/images_path_on_sdcard" ) ;
File imginfolder[] = imglista.listFiles();
并确保您在AndroidManifest.xml
中添加了SD-CARD权限:
<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);