Как запустить все числа arrayLista в статическую переменную int через знак "|" (или)?
У меня приложение русско-английский словарь, в котором слова поделены на 4 категории (под номерами 0, 1, 2 и 3). В настройках user может отключать какие-то из них, и мне нужно чтобы в этом случае слова с отключенной категорией в процессе обучения не появлялись из базы. То есть чтобы Метод, описнный ниже, вызывал только включенные категории.
In Dao:
@Query("SELECT * FROM word_table WHERE category = :category ORDER BY RANDOM() LIMIT 4")
Single<List<Word>> get4words(int category);
Затем в Repository я обзначаю цифру для категории:
public static final int CATEGORY = 0 | 1 | 2 | 3;
И заношу ее в метод, который вызывает список слов из словаря:
m4words = mWordDao.get4words(CATEGORY);
... Как я понимаю, нужен наверно аррайЛист с цифрами (чтобы отключая категорию пользователь удалял соот. цифру из аррайЛиста), а потом все значения этого листа запускать в статическую переменную int CATEGORY через знак "|" (или). Но как это сделать?
Ответы (1 шт):
Конечно вариантов можно придумать несколько. Я бы предложил поскольку у вас всего 4 категории то комбинаций всего 16 штук. Так что на любые ваши комбинации достаточно 4х бит. И не нужно в этом случае никакого массива лиш правильно разбить переменную в sql чтоб узнать включение той или иной категории.
0 - 0000 все выключены
1 - 0001 включена 1 я
2 - 0010 включена 2 я
3 - 0011 включена 1 и 2 я
....
15 - 1111 включены все 4