在做一个把crashlog显示到指定listview的小工具,显示是显示出来了,但是每次新增的crashlog都自动加到listview的最后一位,用了Collections.reverse()只是把表面文件名倒了过来,里面的数据还是不动,想要把每次新增的crashlog都加到第0行,请教大佬该怎么做
private void inflateListView(File[] files) {
List<Map<String, Object>> listItems = new ArrayList<Map<String, Object>> ();
for (int i = 0; i < files.length; i++) {
Map<String, Object> listItem = new HashMap<String, Object> ();
if (files[i].isDirectory()) {
// 如果是文件夹就显示的图片为文件夹的图片
listItem.put(“aicon”, R.drawable.arrow_down);
} else {
listItem.put(“aicon”, R.drawable.arrow_up);
}
// 添加一个文件名称
listItem.put("filename", files[i].getName());
File myFile = new File(files[i].getName());
// 获取文件的最后修改日期
long modTime = myFile.lastModified();
SimpleDateFormat dateFormat = new SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss");
System.out.println(dateFormat.format(new Date (modTime)));
// 添加一个最后修改日期
listItem.put("modify", "修改日期:" + dateFormat.format(new Date(modTime)));
listItems.add(listItem);
}
// Collections.reverse(listItems);
// 定义一个SimpleAdapter
SimpleAdapter adapter = new SimpleAdapter (
SDCardFileExplorerActivity.this, listItems, R.layout.list_item_crashlog,
new String[] { "filename", "aicon", "modify" }, new int[] { R.id.afile_name, R.id.aicon, R.id.afile_modify });
// 填充数据集
lvFiles.setAdapter(adapter);
来源:CSDN
作者:一葉一舟
链接:https://blog.csdn.net/weixin_45521897/article/details/104689684