避免将重复项添加到 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的主要内容,如果未能解决你的问题,请参考以下文章

如何避免在 SQLAlchemy - python 的多对多关系表中添加重复项?

通过自己的适配器将数据添加到 ListView [重复]

Xamarin 将 ListView 项动态更新到 GUI

设置颜色项listview xml

避免重复收件箱的 Listview 项目

将水平滚动视图添加到 ListView