我有列表视图,其中包含数据库中的一些项目,当用户输入相同的项目时,不应将其添加到列表视图中,但在我的情况下确实如此。如何避免这个用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();
}
答案 0 :(得分:0)
维护具有所有现有值的arraylist(或列表或数组),并且当有任何新条目时,使用列表上的迭代进行交叉验证。 并相应地存储
答案 1 :(得分:0)
删除第二个if if(c.equals(sql))
,如果查询返回结果,则输入的值已经存在,并且您可以显示Toast消息。
if(c.moveToFirst()) {
// contains duplicate
} else {
// new value
}
答案 2 :(得分:-1)
从数据库中提取数据时,您可以添加 DISTINCT 关键字,这将导致查询不返回重复值。