gpt4 book ai didi

java - 如何从 ListView 中获取特定文件 onItemClick

转载 作者:行者123 更新时间:2023-12-02 12:20:18 25 4
gpt4 key购买 nike

我有一个包含两个文件的文件夹:一个 pdf 和一个 xml。

当我单击文件夹时,我只想获取 xml 文件的路径。

通过我的代码(我在下面发布),我得到了两个文件的路径。

谁能帮助我?谢谢!

 private ArrayList<String> GetFiles2(File f) {
ArrayList<String> MyFiles = new ArrayList<String>();
//File f = new File(DirectoryPath);

f.mkdirs();
File[] files = f.listFiles();
if (files.length == 0)
return null;
else {
for (int i=0; i<files.length; i++)
MyFiles.add(files[i].getPath());
}

System.out.println("MYFILE:"+MyFiles);
return MyFiles;

}

我的结果:我的文件:

`[/storage/emulated/0/ordinazioni/2/23_Agosto_2017_09_44_51_AM.xml,` /storage/emulated/0/ordinazioni/2/23_Agosto_2017_09_44_51_AM.pdf]

最佳答案

您可以使用 File#listFiles(FileFilter) 的重写版本从目录中获取特定文件。

    File[] files = f.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".xml");
}
});

全面实现:

private ArrayList<String> getXmlFiles(File directory) {
ArrayList<String> names = new ArrayList<>();
directory.mkdirs();
File[] files = directory.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().endsWith(".xml");
}
});
for(File f : files)
names.add(f.getPath());

System.out.println("MYFILE:" + names);
return files.length > 0 ? names : null;
}

无论如何,我建议您返回一个空列表而不是 null 以避免 NPE 问题(只需返回名称)

关于java - 如何从 ListView 中获取特定文件 onItemClick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45836279/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com