我试图只选择图像文件然后我成功了, 但现在应用程序需要很长时间才能加载..
这是我的代码的一部分:
的onCreate:
filename(testimg);
while (type != "jpeg" && type != "GIF" && type != "PNG"
&& type != "BMP" && type != "WebP") {
filename(testimg);
}
文件名(功能):
public void filename(File filename) {
abcd = filename.toString();
File[] listFiles = filename.listFiles();
Random r = new Random();
File randomPicture = listFiles[r.nextInt(listFiles.length)];
Uri pictureUri = Uri.fromFile(randomPicture);
convertedPath = randomPicture.getAbsolutePath();
if (convertedPath.lastIndexOf(".") != -1) {
String ext = convertedPath
.substring(convertedPath.lastIndexOf(".") + 1);
MimeTypeMap mime = MimeTypeMap.getSingleton();
type = mime.getExtensionFromMimeType(mime
.getMimeTypeFromExtension(ext));
System.out.println(type);
} else {
type = null;
}
image.setImageURI(pictureUri);
}
所以即时通讯询问是否有更有效的方式?
答案 0 :(得分:2)
File[] listFiles = filename.listFiles( new FileFilter(){
@Override
public boolean accept(File file){
return file.isFile() && (file.getName().endsWith(".jpg") || file.getName().endsWith(".png")); //add more extensions if needed
}
});
答案 1 :(得分:0)
我试图只选择图像文件
为什么不使用OR
?我认为这更好:
while (type.equals("jpeg") || //more types) {
filename(testimg);
}
因为OR
中的任何一个TRUE
是{{1}},那么它就是一个图像文件。