我想单击活动中的按钮并打开一个单独的活动,该活动显示我想要访问的文件夹的arraylist . 因此,进入下一个活动的代码很简单(以意图开始新活动) . 但是,我想在arraylist中显示此新活动中文件夹的内容 .
此内容的路径位于我的设备的内部存储中(不是外部/ SD卡存储) .
我想显示以下目录中的文件
/storage/emulated/0/Android/data/com.../files/
com ...是一个假的路径名,它只是为了说明有一个包名 .
所以底线是我想在我的新活动中的arraylist中显示文件(文本文件或图片等)中的内容 . 每当我尝试使用“文件”指向此路径时,它不会显示arraylist,而是显示空白屏幕 .
例如:
String path = "/storage/emulated/0/Android/data/com.../files/";
File dir = new File(path);
List values = new ArrayList();
String[] list = dir.list();
if (list != null) {
for (String file : list) {
if (!file.startsWith(".")) {
values.add(file);
}
}
}
Collections.sort(values);
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_2, android.R.id.text1, values);
setListAdapter(adapter);
1 回答
我的解决方案如下 . 我也无法使用我从下面的代码中看到的文件来实现FileInputStream . 通过获取子字符串,我可以获取文件名,但是当我使用FileInputStream时,我很难读取它 . 我的异常是在这行代码上引发的 .
FileInputStream in = openFileInput(“test.txt”);
我对实际问题的解决方案 .
里面的oncreate
onCreate的内部结束 . 将其放入onCreate中,以便在打开页面后立即填充列表视图 .
getListFiles方法启动
getListFiles方法结束 .