【问题标题】:Showing a list of files in a ListView在 ListView 中显示文件列表
【发布时间】:2012-03-08 05:12:51
【问题描述】:

我想知道如何在 ListView 中显示目录中的文件。这些文件可以列出:

File dir = new File(dirPath);
File[] filelist = dir.listFiles();

并通过ArrayAdapter 添加到ListView,但我没有使用ArrayAdapter

【问题讨论】:

  • 您的问题到底是什么?有很多关于“如何管理 arrayAdapter”、“如何创建 listView”的问题。对于您,我认为您只想将文件夹中不同文件的名称显示到列表视图中。您必须将 ArrayList 的字符串传递给您的适配器。查看官方文档有一些关于如何做 ListView 的示例。

标签: android file directory android-listview android-arrayadapter


【解决方案1】:

我猜你想显示该目录中文件的名称,所以你可以试试这个:

File dir = new File(dirPath);
File[] filelist = dir.listFiles();
String[] theNamesOfFiles = new String[filelist.length];
for (int i = 0; i < theNamesOfFiles.length; i++) {
   theNamesOfFiles[i] = filelist[i].getName();
}

与列表一起使用的适配器:

new ArrayAdapter<String>(this, android.R.layout.simple_list_item, theNamesOfFiles);

对于比显示文件名更复杂的事情,您必须实现自定义适配器。

【讨论】:

  • 文件名加上创建/修改日期怎么样?
  • @SiKni8 不幸的是,File 类只公开了最后一次文件修改的日期,而不是创建日期。为了显示除了文件名之外,您还可以使用自定义适配器或包含数据的Hashmap,并使用SimpleAdapter
  • 感谢您的回复。我认为修改日期对我来说应该足够了。我的一个问题是我想显示一个自定义图标,后跟图标右上角的文件名和图标右下角的修改日期。我将如何实现这一目标?
  • 感谢它工作正常。我需要 onItemClicklistener 操作也请帮助我。
  • @vijay 如果您需要在单击列表中的某个项目时执行一些操作,那么只需在 ListView 上设置一个 OnItemClickListener 并执行操作。
【解决方案2】:

或者你可以使用这样的东西来对Stringfilenames 进行排序:

File dataDirectory = Environment.getDataDirectory();
File fileDir = new File(dataDirectory, "data/com.yourapp.app/files");

String[] listItems = fileDir.list();
Arrays.sort(listItems);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 2016-05-01
    • 1970-01-01
    相关资源
    最近更新 更多