`
asetbug
  • 浏览: 26766 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【转】Android中ListView动态添加删除项

阅读更多
SimpleAdapter listItemAdapter;  // ListView的适配器
ArrayList<HashMap<String, Object>> listItem;  // ListView的数据源,这里是一个HashMap的列表
ListView myList;  // ListView控件
listItem = new ArrayList<HashMap<String, Object>>();
listItemAdapter = new SimpleAdapter(this, listItem, R.layout.mylayout, 
new String[]{"image", "title", "text"},
new int[]{R.id.ItemImage, R.id.ItemTitle, R.id.ItemText});
myList = (ListView)findViewById(R.id.TaxiList);
myList.setAdapter(listItemAdapter);

(关键)添加两个私有的功能函数,通过更新数据集合itemlist来改变内容项,再通过adapter的notifyDataSetChanged()来更新显示
private void addItem()
{
HashMap<String, Object> map = new HashMap<String, Object>();
map.put("image", R.drawable.icon);
map.put("title", "标题");
map.put("text", "要显示的内容");
listItem.add(map);
listItemAdapter.notifyDataSetChanged();
}

private void deleteItem()
{
int size = listItem.size();
if( size > 0 )
{
listItem.remove(listItem.size() - 1);
listItemAdapter.notifyDataSetChanged();
}
}

另附上ListView的项自定义的Layout:
<?xml version="1.0" encoding="utf-8"?>  
<RelativeLayout   
android:id="@+id/RelativeLayout01"   
android:layout_width="fill_parent"   
xmlns:android="http://schemas.android.com/apk/res/android"   
android:layout_height="wrap_content"   
android:paddingBottom="4dip"   
android:paddingLeft="12dip"  
android:paddingRight="12dip">  
<ImageView 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:src="@drawable/taxi1" 
android:id="@+id/ItemImage" 
android:paddingTop="4dip">
</ImageView>
<TextView 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:text="DaZhong Taxi Corporation" 
android:layout_toRightOf="@+id/ItemImage" 
android:id="@+id/ItemTitle" 
android:textSize="24dip"></TextView>
<TextView 
android:layout_height="wrap_content" 
android:layout_width="fill_parent" 
android:text="Tel:021-67786874" 
android:id="@+id/ItemText" 
android:layout_below="@+id/ItemTitle" 
android:layout_toRightOf="@+id/ItemImage">
</TextView>
</RelativeLayout>  
分享到:
评论
1 楼 北雁南飞33 2014-05-29  
有源码吗?参考一下

相关推荐

    Android中ListView动态添加删除项

    本教程将详细讲解如何在Android中实现ListView的动态添加和删除项功能。 一、ListView的基本使用 1. 布局文件:在XML布局文件中,我们需要定义一个ListView,通常会有一个对应的适配器(Adapter)来填充数据。例如...

    android ListView 动态添加删除

    动态添加和删除ListView中的Item是一项常见的功能,尤其在构建需要用户交互的应用时。本文将深入探讨如何实现这个需求,以及涉及到的关键知识点。 首先,我们需要理解ListView的工作原理。ListView通过Adapter与...

    ListView动态添加、移除item

    总结,动态添加和移除ListView的item是Android开发中常见的需求。通过理解ListView的工作原理,结合Adapter和数据源的管理,我们可以实现流畅且高效的列表操作。同时,利用优化技巧和动画效果,可以提升用户交互体验...

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

    在本文中,我们将深入探讨如何在Android Studio中实现ListView的动态增加以及左滑删除功能,这将帮助你构建更加用户友好的应用程序。 首先,我们需要创建一个ListView的基础结构。在Android Studio中,打开布局XML...

    动态添加、删除ListView列表项

    动态添加和删除ListView列表项是提高用户交互性和应用灵活性的关键技术。本篇将深入讲解如何通过自定义Adapter来实现这一功能,并清空整个ListView。 首先,理解ListView的工作原理至关重要。ListView依赖于Adapter...

    Android中ListView动态刷新

    总结,`notifyDataSetChanged()`是Android中更新ListView数据的关键方法,它使得开发者能够在程序运行时轻松地实现列表数据的动态刷新,提供了丰富的用户体验。但同时也需要注意性能优化,合理使用,以避免对应用...

    android中listview动态删除

    本篇文章将深入探讨如何在Android中实现ListView的动态删除功能,特别是在描述中提到的拖动到删除栏的交互设计。 首先,我们需要创建一个自定义的Adapter,这是连接ListView和数据源的关键。Adapter需要继承自...

    Android 重写Listview实现左滑删除功能

    本项目"Android 重写Listview实现左滑删除功能"旨在教你如何在ListView中添加滑动删除的交互效果。 首先,我们需要理解ListView的工作原理。ListView通过复用View(也称为ViewHolder模式)来优化性能,减少内存消耗...

    Android ListView长按删除

    综上所述,实现Android ListView的长按删除功能,主要涉及以下几个步骤:设置适配器、添加长按监听器、处理长按事件、删除数据源中的项并更新适配器,以及可选地提供删除确认提示。通过这些步骤,你可以为你的...

    ListView视图动态增加与删除控件条目,内容

    在实际应用中,我们经常需要对ListView进行动态操作,比如动态增加、删除控件条目,甚至允许用户编辑这些条目的内容。下面将详细阐述如何实现这个功能。 首先,我们需要了解ListView的基本结构。ListView通常结合...

    listview动态添加删除itemView,从上往下添加,从下往上添加,定时item自动消失

    在RecycleView中,动态添加删除和itemView长度设置与ListView类似,但要注意使用`addItemDecoration()`来实现自定义的间隔和布局效果。 6. **优化性能** - 对于大量数据,应考虑使用ViewHolder模式减少视图查找的...

    listview动态添加、删除带edittext的item

    然而,当涉及到动态添加和删除带有EditText的ListView项时,可能会遇到一些挑战,比如输入值错乱或消失的问题。这个问题通常源于ListView的复用机制,即ListView的每个Item(ViewHolder)在滚动时会被复用,如果不...

    android dialog嵌套ListView

    这个场景在描述中提及,即“android dialog嵌套ListView”,其目的是实现对ListView的添加和删除操作。 首先,我们要理解`Dialog`的基本概念。`Dialog`是Android系统提供的一个组件,它以半透明的弹出窗口形式展示...

    Android实现ListView的增删改查Demo

    这个"Android实现ListView的增删改查Demo"是一个实战教程,旨在教你如何在Android应用中实现对ListView中的数据进行添加、删除、修改和查询操作。这个Demo通常会结合SQLite数据库来存储和管理数据,因为SQLite是...

    Android实现ListView滑动删除.rar

    在Android中实现ListView的滑动删除,通常需要以下步骤: 1. **自定义Adapter**: - 首先,你需要创建一个自定义的ListAdapter,继承自BaseAdapter或ArrayAdapter。在这个Adapter中,你需要重写`getView()`方法,...

    Android Listview 列表项删除动画Demo

    本示例"Android Listview 列表项删除动画Demo"旨在演示如何在ListView中实现一个动态效果:当用户选择删除某个列表项时,该条目会有一个从右向左滑动的动画效果,同时,下面的列表项会平滑地填补被删除项留下的空缺...

    Android ListView动态查询更新代码

    在Android开发中,ListView是一种常用的组件,用于展示大量的列表数据。动态查询和更新ListView是提高用户体验的关键技术,尤其是在处理大量数据流或者实时更新信息时。本文将深入探讨如何实现Android ListView的...

    android中listview多选demo

    在实际应用中,我们经常需要为ListView添加多选功能,以便用户可以选取多个条目进行操作,如删除、编辑等。"android中listview多选demo"就是一个展示如何实现这一功能的示例项目。 在Android的ListView中实现多选,...

    android listview 左滑 删除功能

    在Android开发中,ListView是一种常用的组件,用于展示可滚动的列表数据。为了提供更好的用户体验,很多开发者会借鉴iOS系统的交互设计,比如实现左滑删除功能。这个功能允许用户通过手势从左侧滑动列表项,展示一个...

    Android 点击listview弹出popupwindow弹出框

    在Android开发中,`ListView`是一种常用的组件,用于展示大量数据列表。而`PopupWindow`则是用来实现临时显示一个小窗口的工具,常用于快速操作或者下拉菜单等场景。本篇将详细介绍如何在用户点击`ListView`时弹出一...

Global site tag (gtag.js) - Google Analytics