Android:如何将目录中的图像文件导入view.setBackgroundDrawable()

Jac*_*tie 3 android

我正在尝试创建一个可以从Android手机上的目录中获取图像并在布局中显示它们的应用程序.我似乎正朝着一种倒退的方式努力.我知道用来view.setBackgroundDrawable(Drawable.createFromPath(String pathName));显示图像,但我不知道如何从目录中获取图像的路径.

我对如何做有一个模糊的想法,但希望澄清这个问题.我认为下一步是使用:

String state = Environment.getExternalStorageState();
if (Environment.MEDIA_MOUNTED.equals(state) || Environment.MEDIA_MOUNTED_READ_ONLY.equals(state)) {
    File file[] = Environment.getExternalStorageDirectory().listFiles();
}
Run Code Online (Sandbox Code Playgroud)

但是如何过滤文件以便只将图像文件存储在我的文件中file[]呢?比如.png或.jpg/.jpeg文件?在那之后,我应该使用files[].getPathfiles[].getAbsolutePath?我会把结果存储在一个String[].

我主要要求的是验证上述代码是否有效.而且,我怎么可能过滤仅存储图像文件,如.png,.jpg.jpeg.

感谢您的时间.

Hak*_*bay 7

你想做这样的事情来过滤:

File[] file = folder.listFiles(new FilenameFilter() {

                @Override
                public boolean accept(File dir, String filename) {

                    return filename.contains(".png");
                }
            });
Run Code Online (Sandbox Code Playgroud)

如果你想要文件的文件路径让我们说文件在file[0],你会这样做:

file[0].getAbsolutePath();