Подтвердить что ты не робот

<expr> ожидается, получил '?'

При вводе оператора SQLite в виде строкового литерала в классе в Android Studio, IDE дает мне это предупреждение: "<expr> expected, got '?'".

Я не понимаю, что это значит, но код работает нормально, и я бы хотел отключить проверку. Но я не знаю, какая инспекция вызывает это. Их тысячи, и поиск или ожидаемый доход не дает никаких полезных результатов.

Версия Android Studio 3.0. Это происходит с целым рядом различных утверждений, но типичный выглядит следующим образом:

SQLiteStatement st = db.compileStatement(
   "INSERT OR REPLACE INTO routes(route_code, route_desc) VALUES(?,?)"
);
4b9b3361

Ответ 1

Это ошибка в Android Studio 3.0 и уже сообщается здесь. Также это теперь исправлено в версии 3.1. Я использую последнюю сборку Canary 5 3.1, и она отлично работает.

Так как теперь не будет более 3,0 патчей, все, что вы можете сделать сейчас, это пойти с обходным путем или отключить эту проверку на линт.