У меня есть пользовательский поставщик поиска, который выглядит следующим образом:Android SQLite Content Provider запрос (поиск)
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:hint="hint"
android:label="label"
android:searchSuggestAuthority="com.path_to_provider"
android:searchSuggestIntentAction="android.intent.action.VIEW"
android:searchSuggestIntentData="content://com.cypher.path_to_provider/table_name"
android:searchSuggestSelection="word LIKE ? || '%' OR word LIKE '% ' || ? || '%'" />
Когда independentally испытано, каждая сторона OR
в моем предложении поиска работает нормально. Когда я использую OR по какой-либо причине, запрос не работает. Что-то не так с моим запросом? Моя цель состоит в том, чтобы поиск «кошки» быть подобраны по «катастрофической» и «смотреть на кошек»
Вот мой ContentProvider
запрос
@Override
public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) {
SQLiteDatabase sqLiteDatabase = searchHelper.getReadableDatabase();
return sqLiteDatabase.query("table_name",
projection,
selection,
selectionArgs,
null,
null,
null);
}
Попробуйте положить все выражение в круглые скобки. – JimmyB
вам нужен весь материал с ContentProvider, Searchable и т. Д.? вы хотите просто использовать частный SearchView в своем приложении или это часть «системного поиска»? – pskink
Каким образом ваш запрос не работает? Вы получаете ошибку или всего лишь 0 результатов? –