避免将重复项添加到listview android

时间:2011-09-07 08:47:59

标签: android listview

我有列表视图,其中包含数据库中的一些项目,当用户输入相同的项目时,不应将其添加到列表视图中,但在我的情况下确实如此。如何避免这个用toast消息说这个词已经存在。请帮助我

我正在从DB填充列表,并且在添加新项时,它应该比较db列中的值,如果该值不存在则可以添加,否则应显示错误消息。请更正此代码

String sql =“选择文本来自MorseCodePresets WHERE text =”+ etMorseCodeMessage.getText()。toString();                 executeDBManagement(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();
            }

3 个答案:

答案 0 :(得分:0)

维护具有所有现有值的arraylist(或列表或数组),并且当有任何新条目时,使用列表上的迭代进行交叉验证。 并相应地存储

答案 1 :(得分:0)

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

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

答案 2 :(得分:-1)

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