我有以下方法来检查数据库中是否已存在输入字符串:
public boolean check(String s){
boolean t = false;
ContentResolver contentResolver = this.getContentResolver();
Cursor cursor = contentResolver.query(FTagsContentProvider.CONTENT_URI,
new String []{FTagsContentProvider.COL_TEXT}, FTagsContentProvider.COL_TEXT + "=?", new String[]{s}, null);
if(cursor != null){
t = true;
}
else{
t = false;
}
cursor.close();
return t;
}
但是无论我输入一个新的String还是已经存在的String,这个方法总是返回" true"。
代码是问题还是内容提供者有问题?
答案 0 :(得分:0)
检查cursor.getCount()> 0.不要检查null。游标可以为空而不为空。
if(cursor != null && cursor.getCount() > 0) {
t = true;
} else{
t = false;
}