Вы правы, и у меня была эта проблема.Я не знаю причину, но я знаю, что в последней версии комнаты нет способа справиться с этой проблемой, и когда вы используете запрос для DELETE
, он говорит, что возвращаемый тип должен быть void или int, но если вы хотите использовать RX
для запроса DELETE
вы можете сделать это, но, возможно, не лучшим образом: сначала конвертируйте interface
в abstract class
, а также все методы в abstract method
, затем
@Dao
public abstract class WorkoutExerciseDao {
@Update()
abstract Single<Integer> updateWorkout(final WorkoutExercise... workoutExercises);
@Delete
abstract Single<Integer> deleteWorkouts(final WorkoutExercise... user);
@Query("DELETE FROM workout_exercise_table WHERE id IN(:exerciseIds)")
abstract Integer deleteWorkouts(final long... exerciseIds);
Single<Integer> deleteWorkoutsById(final long... exerciseIds) {
return Single.create(emitter -> {
emitter.onSuccess(deleteWorkouts(exerciseIds));
});
}
}