java - 如何在Android中将来自不同地方的两个条目显示到ListView中
问题描述
我需要列出列表中不同位置的文件,但第二个对象总是破坏第一个对象,我很乐意提供帮助
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_listview);
File root = new File(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera");
ListDir(root);
File root1 = new File(Environment.getExternalStorageDirectory().toString() + "/Download" );
ListDir(root1);
}
void ListDir(File f)
{
File[] files = f.listFiles();
fileList.clear();
for (File file: files)
{
fileList.add(file.getName());
}
ArrayAdapter<String> dir = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1,fileList);
setListAdapter(dir);
}
解决方案
根据要求提供示例
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_listview);
ArrayList<File> roots = new ArrayList<>();
File root = new File(Environment.getExternalStorageDirectory().toString() + "/DCIM/Camera");
roots.add(root);
File root1 = new File(Environment.getExternalStorageDirectory().toString() + "/Download" );
roots.add(root1);
//After you've added as many directories as you need
ListDir(roots);
}
void ListDir(ArrayList<File> root_direcs)
{
fileList.clear();
for(File root : root_direcs){
fileList.addAll(Arrays.asList(root.listFiles()));
}
ArrayAdapter<String> dir = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_activated_1,fileList);
setListAdapter(dir);
}
推荐阅读
- java - Rest Get:如何在 URL 的查询参数中添加“带有查询参数的 URL”?
- azure-data-factory - Azure 数据工厂复制数据 - 无法将“System.String”转换为目标类型“Microsoft.Xrm.Sdk.EntityReference”
- javascript - 无法在本机反应中将数据导出到excel
- android-layout - Android 工具栏以及它们是否可以为空
- python - 在 pd.read_csv 中为测试数据引入迭代器和块大小
- c++ - Qt5 - C++11:“This”不能在这个上下文中被隐式捕获
- validation - 表单验证错误消息未完全显示 - Flutter
- reactjs - 获取谷歌地图时遇到问题
- c# - Web Api 存储库/ValueController 问题
- java - 关键帧 FFMPEG