Android notifyDataSetChanged的自定义适配器不工作
下面的示例将使用sectionlistview 但是如何实现适配器.notifyDataSetChanged() 添加侦听器以更新listview数据:Android notifyDataSetChanged的自定义适配器不工作,android,Android,下面的示例将使用sectionlistview 但是如何实现适配器.notifyDataSetChanged() 添加侦听器以更新listview数据: mListView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mListView.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(SectionAdapterActivity.this, ""+position+"", Toast.LENGTH_SHORT).show();
test();
}
});
mListView.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
Toast.makeText(SectionAdapterActivity.this,“+position+”,Toast.LENGTH\u SHORT.show();
test();
}
});
我添加的新函数仅用于更改/更新值(仅用于测试):
公共无效测试()
{
clear();
对于(int i=0;i<3;i++){
hashMap.put(“邮件”,String.valueOf(1100+i),1);
}
对于(int j=0;j<4;j++){
hashMap.put(“Case”,String.valueOf(2100+j),15);
}
对于(int j=0;j<5;j++){
hashMap.put(“文件”,String.valueOf(10000+j),20);
}
mListView.invalidate();
mListView.invalidateViews();
adapter.notifyDataSetChanged();
Log.e(“dada”,hashMap.toString());
}}
似乎不起作用,有人能帮忙吗?我不太明白您调用notifyDataSetChange()想要实现什么 此方法仅当您在创建适配器后更改适配器使用的逻辑数据集合/数据库时生效。在这种情况下,将导致使用新数据更新列表 如果这就是你想要做的,那么就使用它——你需要做的很简单:只要打电话:
adapter.notifyDataSetChanged();
就这样:)。没有别的了
列表视图
使用了相同的哈希映射
和适配器
对象,并且在创建适配器
对象时使用了哈希映射
对象适配器.notifyDatasetChanged()
,在那里放置一些日志notifyDatasetChanged()
的效果才会显示,如果它保持为prev,则无法确定是否调用了它我对此不是很确定,但请先调用NotifyDataSetChanged(),然后尝试invalidateViews()。在声明可见的适配器和代码行中发布?列表变为空白还是什么都没发生?
adapter.notifyDataSetChanged();