アプリ内に検索機能があります。それはほぼ適切に機能します。私の問題は、最初からsearchWordに似た結果しか得られないことです。
例: searchWord が "ada" の場合、結果には "ada" で始まるすべてのレコードが含まれますが、"ada" を含むレコードは含まれません。
ちょっとした変更に違いないことはわかっていますが、これは私が行った最初のデータベース処理です。
では、で始まるものではなく、含むものを検索するには、これをどのように変更する必要がありますか?
コード:
public Cursor getMatchingFromContacts(String searchWord) throws SQLException {
String queryString = "SELECT _id, full_name FROM "
+ SF_CONTACT_TABLE;
if (searchWord != null) {
searchWord = searchWord.trim() + "%";
queryString += " WHERE " + FULL_NAME + " LIKE ?";
}
String params[] = { searchWord };
if (searchWord == null) {
params = null;
}
try {
Cursor cursor = db.rawQuery(queryString,
params);
if (cursor != null) {
cursor.moveToFirst();
return cursor;
}
} catch (SQLException e) {
Log.e("AutoCompleteDbAdapter", e.toString());
throw e;
}
return null;
}