【问题标题】:Store and flow images into array将图像存储并流入数组
【发布时间】:2013-06-04 12:20:23
【问题描述】:

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

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();

显然这不是解决方案...有人有更好的想法吗? 谢谢大家。

【问题讨论】:

  • Obviously this is not the solution 为什么不呢?

标签: android arrays sorting android-image


【解决方案1】:

要从文件夹中获取所有文件,请使用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);

【讨论】:

  • 是的,我只为这个例子进行了硬编码......问题是如何通过“imageView.setImageResource(SeqImages[position]);”进行排序
  • 喂!太棒了!!!我实际上是在尝试使用 Bitmap,但我犯了一些愚蠢的错误!你就是那个男人!非常感谢!
猜你喜欢
  • 1970-01-01
  • 2016-06-30
  • 1970-01-01
  • 2019-12-03
  • 1970-01-01
  • 2014-05-26
  • 2014-07-02
  • 2020-08-10
  • 1970-01-01
相关资源
最近更新 更多