Android SimpleAdapter 的list刷新问题。

本文探讨了Android中SimpleAdapter的使用场景及局限性,并详细介绍了如何通过自定义Adapter及调用notifyDataSetChanged方法来实现数据更新。此外还提供了具体代码示例说明如何删除数据并实时更新UI。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Android SimpleAdapter 的list刷新问题。  

notifyDataSetChanged 来更新的,因为SimpleAdapter主要是用来创建静态的数据的列表,如果要实现动态更新数据,需要自己定义一个基于BaseAdapter的adapter,然后通过notifyDataSetChanged 来更新list。
 
If you look at the SimpleAdapter description it says it is "An easy adapter to map static data to views defined in an XML file." I've added the emphasis -- put simply, SimpleAdapater isn't built for use with data that changes; it handles static data only. If you can't use an ArrayAdapter because your data has more than a single bit of text, then you will either have to build your own custom ListAdapter, or put your data in a DB and use one of the CursorAdapters.

droid SimpleAdapter数据删除后界面更新,只需要加入代码(缺一不可):
data.remove(position);
simple.notifyDataSetChanged();

其中data和simple的定义如下:
final List<HashMap<String, Object>> data = new ArrayList<HashMap<String, Object>>();//数据库中的数据
for(User u:users)//按照 HashMap的格式将数据库中的数据逐个逐个放进data中
        {
            HashMap<String,Object>item=new HashMap<String,Object>();
            item.put("id", String.valueOf(u.getId()));
            item.put("username", u.getUsername());
            item.put("password", u.getPassword());
            data.add(item);
        }
final SimpleAdapter simple=new SimpleAdapter(this, data, R.layout.listview, new String[]{"id","username"}, new int[]{R.id.id,R.id.username});//这个是为了在界面上用listView显示所有数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值