private void getFileList(String path) {
// 设置标题
// 将当前文件夹路径设置为默认文件夹路径
currentFolderPath = path;
// 获取sd卡下所有文件的文件名
String[] fileNames = fileUtil.getFileNames(currentFolderPath);
fileList = new ArrayList<HashMap<String, Object>>();
// 在所有文件的前面添加一个..文件夹,用于浏览上一个文件夹
HashMap<String, Object> lastFolder = new HashMap<String, Object>();
lastFolder.put("FileImage", R.drawable.file_folder);
lastFolder.put("FileName", "返回上一级目录");
fileList.add(lastFolder);
// 1.先判断是否是文件夹(根据文件路径判断)isDirectory()
// 2.判断是否是图片文件(根据文件后缀判断)isImageFile()
for (String fileName : fileNames) {
HashMap<String, Object> hashMap = new HashMap<String, Object>();
File file = new File(currentFolderPath + "/" + fileName);
// 是文件夹
if (file.isDirectory()) {
hashMap.put("FileName", fileName);
hashMap.put("FileImage", R.drawable.file_folder);
}
// 不是文件夹
else {
// 是文本/lrc文件
if (fileUtil.isTxtFile(fileName)) {
hashMap.put("FileName", fileName);
hashMap.put("FileImage", fileUtil.isWhichImage(fileName));
}
// 不是此类文件
else {
hashMap.put("FileName", fileName);
hashMap.put("FileImage", R.drawable.file_unknown);
}
}
fileList.add(hashMap);//把数据放到list
}
simpleAdapter = new SimpleAdapter(//生成适配器
FileManagerActivity.this, fileList, R.layout.listview_file,
new String[] { "FileImage", "FileName" }, new int[] {
R.id.fileimage, R.id.filename });
simpleAdapter.notifyDataSetChanged();//删除一行操作后行提示ListView进行更新 这样更新或耗费一下资源 listView = (ListView) findViewById(R.id.listviewfm);
// 设置listView的适配器
listView.setAdapter(simpleAdapter);
}
另一种更新:删除一行的时候把那一行的position记录下来,然后list.remove(position);然后
filelist.remove(position);//选择行的位置
simpleAdapter.notifyDataSetChanged();
listView.invalidate();
这样应该效率高一些,但是对于只有10来行的ListView效率看不出来许多
分享到:
相关推荐
总之,C#中的ListView控件是一个功能强大的组件,它提供了丰富的功能来展示和操作数据。通过学习和掌握ListView的增删操作,开发者可以更有效地构建出具备数据管理功能的桌面应用程序。在实际开发中,应结合具体业务...
在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先...
4. 更新UI:删除数据库中的数据后,更新ListView以反映变化。这可以通过调用Adapter的`notifyDataSetChanged()`方法实现。 ```java private void deleteItem(int position) { // 删除数据库中的数据 // ... ...
`Android 长按Listview删除一行`的功能是常见的用户交互设计,它提高了用户对数据管理的效率。这个功能实现的关键在于监听长按事件,弹出确认对话框,并处理删除操作。下面将详细解释如何实现这一功能。 首先,你...
在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。它允许用户滚动查看、交互操作,并且可以通过自定义适配器展示多种格式的数据。本教程将详细讲解如何实现ListView中的全选删除功能,结合...
4. **更新ListView**: 在删除数据后,调用Adapter的`remove()`方法移除相应的数据项,然后调用`notifyDataSetChanged()`更新ListView的视图。 5. **反馈用户**: 可以显示一个Toast消息或更新一个计数器,告知用户已...
在实际的应用场景中,我们可能还需要从数据库中获取数据,并将其显示在`ListView`中。下面是一个简单的示例,展示如何从Oracle数据库中读取数据并显示在`ListView`中: ```csharp string ConnectionString = ...
当用户选中一个或多个CheckBox后,可以提供一个删除按钮,点击后根据CheckBox的状态获取选中的数据项,然后从数据源中移除这些项,最后通知Adapter数据已改变。 6. **显示选择结果**: 为了显示选择结果,可以在...
在Android开发中,ListView是一种非常常见且重要的控件,它被广泛用于显示大量的数据视图,尤其是在处理数据库数据时。ListView允许用户滚动查看多个条目,优化内存使用,提高用户体验。本节将深入探讨如何使用...
- 每一行在ListView中表现为一个ListViewItem对象,包含了该行的所有信息。你可以通过`Items`集合添加、删除或修改这些对象。 4. **行移动的实现** - 要实现数据行的移动,你需要监听用户的拖放事件,如`...
这个模块可能包含一个或多个Sub过程,如`InitializeListView`或`UpdateListViewColors`,它们负责初始化和更新ListView的颜色。使用这个模块时,开发者只需将它导入到VB项目中,并在适当的时机调用相关函数即可。 ...
ListView是Windows API中常见的一种控件,常用于展示带有多个列和行的数据。它可以显示图标、文本,甚至自定义视图,是用户界面设计中常见的元素。在Delphi中,ListView可以通过TListView组件来使用,提供了丰富的...
在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。在这个“最简单的listview动态添加、删除带edittext的item例子”中,我们主要探讨如何在ListView中使用EditText,并实现动态添加和删除功能...
- 它的工作原理是利用Adapter(适配器)将数据源(如ArrayList)绑定到视图上,每一项数据对应ListView的一行。 2. **Swipe to Delete(滑动删除)实现** - 滑动删除通常是通过添加手势识别和动画效果来实现的。...
1. **ListView控件介绍**:ListView是Visual Basic 6.0中的一种标准控件,通常用于显示带有多个列和行的数据。它可以包含图标、子项、复选框等,提供了一种直观的方式来呈现和管理信息。 2. **ListView的基本属性**...
本篇文章将详细探讨如何实现ListView和GridView中的全选、反选以及关联的删除操作,特别是关注“Gridview全选”这一核心功能。 一、ListView与GridView概述 ListView和GridView都是基于Adapter机制的控件,Adapter...
ListView用于显示一列或多列数据,而TreeView则用于展示层次结构的数据。当这两者结合使用时,可以创建出类似资源管理器的界面,提供用户友好的浏览和操作体验。 ListView控件允许开发者以多种视图模式(如小图标、...
首先,DataGrid控件主要用于显示表格形式的数据,它可以从数据库、数组或其他数据源获取数据,并将其组织成行列结构。在C#中,DataGrid可以轻松绑定到数据源,例如DataSet、DataTable或ArrayList,提供排序、筛选和...
在Android开发中,ListView是一种常用的UI组件,它允许用户显示一组长列表的数据,通常用于展示大量数据集合。"排序ListView"是指我们可以在ListView中实现数据的动态排序功能,以满足用户的个性化需求。本文将深入...
列用于定义显示的数据字段,项是列表中的每一行,而子项则是每一项中的具体数据。 1. Columns属性:用于添加或管理ListView的列,通过ListViewColumn对象定义每列的宽度、标题等属性。 2. Items属性:包含ListView...