我这样做是为了从字典中获取所有包含我传递给函数的字符串的单词:
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;
}
结果总是一个空的 Cursor。
我做错了什么?
最佳答案
我找到了解决方案。
代码是正确的,问题是我的个人字典是空的。
我原以为该设备会使用他自己的字典或类似的东西。
要在 Android 中访问您的个人词典,您必须执行以下操作:
Settings > Idiom > Personal dictionary
在那里你可以编辑、删除、添加……单词。
这是在我的 Android 设备上执行此操作的方法,也许您的不同。
关于android - 从字典、内容提供者、Android 中获取单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40474364/