小记(1)关于lisview的动态更改数据与notifyDataSetChanged();

首先要明确的一点是notifyDataSetChanged()只能作用于源数据list更改才能起效。因此必须作用于list对象。

private List<Map<String, Object>> EAMlist() {

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

Map<String, Object> map = new HashMap<String, Object>();

map.put("t1","1");
map.put("t2","2");
list.add(map);

return list;

}

在oncreat()中输入

List=(ListView)findViewById(R.id.listView);
EAM=EAMlist();//赋值给list
EAMadapter=new Myadapter(contentActivity,EAM);

//如果是EAMadapter=new Myadapter(contentActivity,EAMlist());则因为调用的是方法而使用EAMlist().set(index,str)是无法更新数据源的

//EAMadapter=new Myadapter(contentActivity,EAM);
EAMList.setAdapter(EAMadapter);

onclick{

Map<String, Object>map=EAM.get(0);
map.put("
t1", "3");//

EAMadapter.notifyDataSetChanged();

}

由于是写给自己看和记录的写得比较乱,如果有不懂可以留言.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
转换数据类型后,需调用notifydatasetchanged()方法来通知列表视图进行刷新。 在Android中,数据类型的转换通常是为了适配不同的数据源或进行数据处理。当我们完成数据类型的转换后,如果想要在列表视图中显示转换后的数据,就需要调用notifydatasetchanged()方法告知列表视图数据发生了变化,需要进行刷新。 notifydatasetchanged()方法是ListView和RecyclerView的方法,用于通知视图数据发生了变化。一般情况下,我们会在数据源发生改变后调用这个方法来刷新列表视图,使得界面能够展示最新的数据。 例如,假设我们有一个列表视图显示字符串类型的数据,现在需要将这些字符串类型的数据转换成整型数据展示在列表视图中。首先,我们需要对原始的字符串数据进行转换,将其转换成整型数据。转换完成后,我们需要调用notifydatasetchanged()方法来通知列表视图进行刷新,将转换后的整型数据展示在界面上。 具体实现上,我们可以在数据转换完成后调用notifydatasetchanged()方法,示例如下: ``` // 假设原始的数据源是一个ArrayList<String>类型的列表 ArrayList<String> originalData = getData(); // 转换数据类型,将原始的字符串数据转换成整型数据 ArrayList<Integer> convertedData = new ArrayList<>(); for (String str : originalData) { int num = Integer.parseInt(str); convertedData.add(num); } // 更新数据源 setData(convertedData); // 通知列表视图进行刷新 notifydatasetchanged(); ``` 通过以上步骤,我们完成了数据类型的转换并通知列表视图进行刷新,最终在界面上展示转换后的整型数据
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值