<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(?,?)"
);
Ответы
Ответ 1
Это ошибка в Android Studio 3.0 и уже сообщается здесь. Также это теперь исправлено в версии 3.1. Я использую последнюю сборку Canary 5 3.1, и она отлично работает.
Так как теперь не будет более 3,0 патчей, все, что вы можете сделать сейчас, это пойти с обходным путем или отключить эту проверку на линт.