避免将重复项添加到 listview android
Posted
技术标签:
【中文标题】避免将重复项添加到 listview android【英文标题】:avoid adding duplicate items to a listview android 【发布时间】:2011-11-11 23:09:27 【问题描述】:您好,我有来自数据库的一些项目的列表视图,当用户输入相同的项目时,它不应该将其添加到列表视图中,但在我的情况下它确实如此。如何通过吐司消息说该词已经存在来避免这种情况。请帮助我
我正在从数据库中填充列表,当添加新项目时,它应该比较 db 列中的值,如果值不存在,它可以添加,否则应该显示错误消息。请更正此代码
String sql = "从 MorseCodePresets 中选择文本 WHERE text = "+etMorseCodeMessage.getText().toString(); 执行DBManagement(sql);
Cursor c = getAllEntries("MorseCodePresets", null);
if(c.moveToFirst())
if(c.equals(sql))
Toast.makeText(mContext, "Word alredy exists",Toast.LENGTH_LONG).show();
else
saveMorseCodeMessage();
【问题讨论】:
如何填充列表视图? arraylist.. 来自数据库,当我添加新项目时,它应该比较数据库中的值,如果存在错误消息应该显示 【参考方案1】:如果if(c.equals(sql))
,如果查询返回结果,则删除第二个,则输入的值已经存在,您可以显示 Toast 消息。
if(c.moveToFirst())
// contains duplicate
else
// new value
【讨论】:
【参考方案2】:维护一个包含所有现有值的数组列表(或列表或数组),当有任何新条目时,对您创建的列表进行交叉验证。 并相应地存储它
【讨论】:
【参考方案3】:在从数据库中获取数据时,您可以添加 DISTINCT 关键字,这将导致查询不返回重复值。
【讨论】:
他没有说过任何关于数据库的事情。以上是关于避免将重复项添加到 listview android的主要内容,如果未能解决你的问题,请参考以下文章