【问题标题】:avoid adding duplicate items to a listview android避免将重复项添加到 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.. 来自数据库,当我添加新项目时,它应该比较数据库中的值,如果存在错误消息应该显示

标签: android listview


【解决方案1】:

如果if(c.equals(sql)),如果查询返回结果,则删除第二个,则输入的值已经存在,您可以显示 Toast 消息。

if(c.moveToFirst()) {
  // contains duplicate
} else {
  // new value
}

【讨论】:

    【解决方案2】:

    维护一个包含所有现有值的数组列表(或列表或数组),当有任何新条目时,对您创建的列表进行交叉验证。 并相应地存储它

    【讨论】:

      【解决方案3】:

      在从数据库中获取数据时,您可以添加 DISTINCT 关键字,这将导致查询不返回重复值。

      【讨论】:

      • 他没有说过任何关于数据库的事情。
      猜你喜欢
      • 1970-01-01
      • 2018-11-12
      • 2020-09-23
      • 2013-01-04
      • 1970-01-01
      • 2013-10-28
      • 1970-01-01
      • 1970-01-01
      • 2015-07-24
      相关资源
      最近更新 更多