`

ListView 获取数据和删除一行后更新

 
阅读更多

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增删操作实例

    总之,C#中的ListView控件是一个功能强大的组件,它提供了丰富的功能来展示和操作数据。通过学习和掌握ListView的增删操作,开发者可以更有效地构建出具备数据管理功能的桌面应用程序。在实际开发中,应结合具体业务...

    android studio实现listview的增加,左滑删除

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先...

    Android通过点击对应listview条目的删除按钮实现删除sqlite数据库对应行信息的简单方法

    4. 更新UI:删除数据库中的数据后,更新ListView以反映变化。这可以通过调用Adapter的`notifyDataSetChanged()`方法实现。 ```java private void deleteItem(int position) { // 删除数据库中的数据 // ... ...

    Android 长按Listview删除一行

    `Android 长按Listview删除一行`的功能是常见的用户交互设计,它提高了用户对数据管理的效率。这个功能实现的关键在于监听长按事件,弹出确认对话框,并处理删除操作。下面将详细解释如何实现这一功能。 首先,你...

    ListView全选删除

    在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。它允许用户滚动查看、交互操作,并且可以通过自定义适配器展示多种格式的数据。本教程将详细讲解如何实现ListView中的全选删除功能,结合...

    android ListView实现多选,批量删除

    4. **更新ListView**: 在删除数据后,调用Adapter的`remove()`方法移除相应的数据项,然后调用`notifyDataSetChanged()`更新ListView的视图。 5. **反馈用户**: 可以显示一个Toast消息或更新一个计数器,告知用户已...

    C#,winform,listView动态插入数据

    在实际的应用场景中,我们可能还需要从数据库中获取数据,并将其显示在`ListView`中。下面是一个简单的示例,展示如何从Oracle数据库中读取数据并显示在`ListView`中: ```csharp string ConnectionString = ...

    Listview checkbox 单选,多选,删除,单击选择,显示选择结果

    当用户选中一个或多个CheckBox后,可以提供一个删除按钮,点击后根据CheckBox的状态获取选中的数据项,然后从数据源中移除这些项,最后通知Adapter数据已改变。 6. **显示选择结果**: 为了显示选择结果,可以在...

    ListView显示数据视图

    在Android开发中,ListView是一种非常常见且重要的控件,它被广泛用于显示大量的数据视图,尤其是在处理数据库数据时。ListView允许用户滚动查看多个条目,优化内存使用,提高用户体验。本节将深入探讨如何使用...

    WinForm ListView 数据行移动

    - 每一行在ListView中表现为一个ListViewItem对象,包含了该行的所有信息。你可以通过`Items`集合添加、删除或修改这些对象。 4. **行移动的实现** - 要实现数据行的移动,你需要监听用户的拖放事件,如`...

    VB ListView 隔行变色

    这个模块可能包含一个或多个Sub过程,如`InitializeListView`或`UpdateListViewColors`,它们负责初始化和更新ListView的颜色。使用这个模块时,开发者只需将它导入到VB项目中,并在适当的时机调用相关函数即可。 ...

    获取并修改其他进程的ListView数据

    ListView是Windows API中常见的一种控件,常用于展示带有多个列和行的数据。它可以显示图标、文本,甚至自定义视图,是用户界面设计中常见的元素。在Delphi中,ListView可以通过TListView组件来使用,提供了丰富的...

    最简单的listview动态添加、删除带edittext的item例子

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。在这个“最简单的listview动态添加、删除带edittext的item例子”中,我们主要探讨如何在ListView中使用EditText,并实现动态添加和删除功能...

    Listview滑动删除Demo

    - 它的工作原理是利用Adapter(适配器)将数据源(如ArrayList)绑定到视图上,每一项数据对应ListView的一行。 2. **Swipe to Delete(滑动删除)实现** - 滑动删除通常是通过添加手势识别和动画效果来实现的。...

    vb6.0 listview 可修改内容代码

    1. **ListView控件介绍**:ListView是Visual Basic 6.0中的一种标准控件,通常用于显示带有多个列和行的数据。它可以包含图标、子项、复选框等,提供了一种直观的方式来呈现和管理信息。 2. **ListView的基本属性**...

    listView,Gridview全选反选关联及删除操作

    本篇文章将详细探讨如何实现ListView和GridView中的全选、反选以及关联的删除操作,特别是关注“Gridview全选”这一核心功能。 一、ListView与GridView概述 ListView和GridView都是基于Adapter机制的控件,Adapter...

    ListView和Treeview的结合使用

    ListView用于显示一列或多列数据,而TreeView则用于展示层次结构的数据。当这两者结合使用时,可以创建出类似资源管理器的界面,提供用户友好的浏览和操作体验。 ListView控件允许开发者以多种视图模式(如小图标、...

    C#DataGrid和ListView案例

    首先,DataGrid控件主要用于显示表格形式的数据,它可以从数据库、数组或其他数据源获取数据,并将其组织成行列结构。在C#中,DataGrid可以轻松绑定到数据源,例如DataSet、DataTable或ArrayList,提供排序、筛选和...

    排序ListView

    在Android开发中,ListView是一种常用的UI组件,它允许用户显示一组长列表的数据,通常用于展示大量数据集合。"排序ListView"是指我们可以在ListView中实现数据的动态排序功能,以满足用户的个性化需求。本文将深入...

    c#listview 使用大全例

    列用于定义显示的数据字段,项是列表中的每一行,而子项则是每一项中的具体数据。 1. Columns属性:用于添加或管理ListView的列,通过ListViewColumn对象定义每列的宽度、标题等属性。 2. Items属性:包含ListView...

Global site tag (gtag.js) - Google Analytics