2015-12-02 31 views
1

我遇到搜索槽ParseQuery數組問題。ParseQuery數組在搜索之前變爲小寫

我需要不區分大小寫的搜索,所以我需要將我的數組轉換爲小寫。

我試過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(); 
    } 

回答

2

對於不區分大小寫嘗試這樣的:

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

現在,它的工作原理。謝謝! – robigroza