我遇到了通过ParseQuery Array搜索的问题。
我需要不区分大小写的搜索,所以我需要将我的数组转换为小写。
我尝试了query.whereMatches和query.whereContains但没有成功。
我的猜测是创建一个新方法,将所有数据从ParseQuery转换为lowercaseString数组。
我是对的吗?
以下是设置搜索结果列表的示例代码:
private void setList(boolean hardRefresh) {
// stop any ongoing progress dialog
cancelProgressDialog();
reloadTags();
reloadContents();
ParseQuery<Note> query = Note.getQuery()
.fromLocalDatastore()
.orderByDescending("date");
String searchStr = searchText.getText().toString().toLowerCase();
if (!searchStr.isEmpty()) {
query.whereMatches(Note.FIELD_DETAIL, searchStr);
}
try {
mNotes = query.find();
if (adapter == null) {
adapter = new ListAdapter();
notesGridView.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
} catch (ParseException e) {
e.printStackTrace();
}
答案 0 :(得分:2)
对于不区分大小写的搜索,请尝试以下操作:
if (!searchStr.isEmpty()) {
query.whereMatches(Note.FIELD_DETAIL, searchStr,"i");
}