【发布时间】:2016-11-07 20:51:05
【问题描述】:
我这样做是为了从字典中获取所有包含我传递给函数的字符串的单词:
public Cursor searchWords(String s) {
String[] mSelectionArgs = {""};
String mSearchString = s;
String mSelectionClause = null;
String[] mProjection =
{
"_id",
UserDictionary.Words.WORD
};
final String mSortOrder = UserDictionary.Words.WORD + " ASC";
if (TextUtils.isEmpty(mSearchString)) {
mSelectionClause = null;
mSelectionArgs[0] = "";
} else {
mSelectionClause = UserDictionary.Words.WORD + " LIKE ? ";
mSelectionArgs[0] = "%"+mSearchString+"%";
}
Cursor mCursor = getContentResolver().query(
UserDictionary.Words.CONTENT_URI,
mProjection,
mSelectionClause,
mSelectionArgs,
mSortOrder);
return mCursor;
}
结果总是一个空光标。
我做错了什么?
【问题讨论】:
-
由于特殊的命名约定,此代码令人惊讶地难以遵循。如果您希望您的论点被称为
mSearchString,请在签名中以这种方式声明。不要无缘无故地创建副本。 -
您好,感谢您的回答!我从developer.android.com 复制了这段代码,并在将其复制到此处之前删除了所有 cmets,因为我发现它有点难以阅读。代码完美运行。
-
检查我的答案:)
-
如果它运作良好,你就不会在这里发帖。
-
当我发布它时,该程序无法运行。我以为这是代码的问题,但真正的问题是另一个问题。我的回答中对此进行了解释。感谢您的关注:)
标签: android mysql dictionary android-contentprovider