Итак, я создал базу данных с двумя столбцами: Имя и Информация.Теперь для моей функции поиска, если пользователь вводит что-то похожее на информацию или имя, я хочу, чтобы это отображалось на экране.На данный момент это делает только один или другой, я не могу сделать это, чтобы сделать оба.Итак, я знаю, что проблема заключается в моем методе выбора в базе данных.На данный момент он установлен следующим образом:
Теперь, если я добавлю «Info Like?», Он показывает поиск на основе столбца «Info», и если я изменю его на «Name Like?»показывает поиск по столбцу Имя.
public List<myList> getNameandInfo(String text) {
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
//Column Name from database table
String[] sqlSelect = {"Name", "Info"};
String tableName = "Grocery"; // table name
qb.setTables(tableName);
//This line of code only shows result for Info column
Cursor cursor = qb.query(db, sqlSelect, "Info LIKE ?", new String[]{"%" +
text + "%"}, null, null, null);
List<Mylist> result = new ArrayList<>();
if (cursor.moveToFirst()) {
do {
Mylist myList = new Mylist();
myList.setName(cursor.getString(cursor.getColumnIndex("Name")));
myList.setInfo(cursor.getString(cursor.getColumnIndex("Info")));
result.add(myList);
}
while (cursor.moveToNext());
}
return result;
}
//tried this line of code but it crashes the app
Cursor cursor = qb.query(db, sqlSelect, ("Name LIKE ?")+("Info LIKE ?"), new String[]{"%" + text + "%"}, null, null, null);