ParseQuery Array在搜索之前为小写

时间:2015-12-02 23:04:05

标签: java android arrays parse-platform

我遇到了通过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();
    }

1 个答案:

答案 0 :(得分:2)

对于不区分大小写的搜索,请尝试以下操作:

if (!searchStr.isEmpty()) {
    query.whereMatches(Note.FIELD_DETAIL, searchStr,"i");
}