使用contentprovider的布尔方法总是返回true?

时间:2015-06-10 01:58:09

标签: java android string

我有以下方法来检查数据库中是否已存在输入字符串:

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"。

代码是问题还是内容提供者有问题?

1 个答案:

答案 0 :(得分:0)

检查cursor.getCount()> 0.不要检查null。游标可以为空而不为空。

if(cursor != null && cursor.getCount() > 0) {
         t = true;
} else{
         t = false;
}