listview怎么避免重复添加数据

2025-02-02 22:44:41
推荐回答(5个)
回答1:

Android ListView最佳处理方式,ListView拖动防重复数据显示,单击响应子控件。

1、为了防止拖动ListView时,在列表末尾重复数据显示。需要加入 HashMap lmap = new HashMap();其中Integer为列表位置,View为子项视图,加入数据前首先if (lmap.get(position)==null)
,满足条件时,加入lmap.put(position, convertView);如果条件不满足,convertView = lmap.get(position);
2、监听每个子控件时,一定要加入final int currentPosition=position;这样可以牢牢抓住每次点击的响应位置;最好把控件集成到类中。

回答2:

1、为了防止拖动ListView时,在列表末尾重复数据显示。需要加入 HashMap lmap = new HashMap();其中Integer为列表位置,View为子项视图,加入数据前首先if (lmap.get(position)==null)
,满足条件时,加入lmap.put(position, convertView);如果条件不满足,convertView = lmap.get(position);
2、监听每个子控件时,一定要加入final int currentPosition=position;这样可以牢牢抓住每次点击的响应位置;最好把控件集成到类中。

回答3:

1、你ListView的数据源是ArrayList吗如果是的话,你增加数据时可以用list.contains(object)方法判断,该数据是否存在,存在即修改数量,不存在就增加条目!
2、你ListView的数据源是ArrayList吗如果是的话,你增加数据时可以用list.contains(object)方法判断,该数据是否存在,存在即修改数量,不存在就增加条目!

回答4:

就是向ListView1添加数据后显示数据:
数据库有两列 一列是自增主键id,另一列是具体数据。存储过程也是insert into history (数据) values(@数据)

这个是显示方法:
DataSet1.historyDataTable dt = new DataSet1.historyDataTable();
DataSet1TableAdapters.historyTableAdapter ta =
new DataSet1TableAdapters.historyTableAdapter();
int refreshtime = ta.Fill(dt);
for (int i = 0; i < dt.Rows.Count; i++)
{
if (i == refreshtime - 1)
{
listView1.Items.Add(new ListViewItem(new string[] { dt.Rows[i][1].ToString() }));
}
}

回答5:

这个和listview没什么关系吧,只要确保查询的数据是不重复的