Как запустить разный код для разных уровней SDK без ошибок в eclipse

Внутри метода я запускаю строку, которая отличается для разных SDK. И маркер lint всегда помечает это как ошибку и предлагает мне добавить новую аннотацию API для всего метода, но это только одна строка кода, я думаю, что бессмысленно создавать новый метод только для этого.
Я есть это во многих местах, но, например:

private void methodA(){

  ... 
  some code (that is good for both) 
  ... 

  if(Build.VERSION>SDK_INT >= 16)
    pb.setBackground(anim);
  else
    pb.setBackgroundDrawable(anim);

  ...
  more code
  ...
}

person RCB    schedule 23.06.2013    source источник


Ответы (2)


Окно->Настройки->Android->Lint Проверка ошибок:

Измените серьезность NewApi на Игнорировать.

введите здесь описание изображения

person Archie.bpgc    schedule 23.06.2013
comment
Я хочу, чтобы eclipse предупреждал меня о проблемах на уровне SDK, могу ли я сделать так, чтобы он помечался как предупреждение, а не как ошибка? - person RCB; 23.06.2013
comment
Спасибо, я узнал, просто изменил вместо игнорирования предупреждение - person RCB; 23.06.2013

В Eclipse вы должны использовать аннотацию или полностью отключить проверку.

Однако если бы вы использовали новую Android Studio, у вас не было бы этой проблемы. . Он поймет, что код в блоке if будет работать, только если уровень API >= 16, и соответствующим образом проверит методы.

person Dalmas    schedule 23.06.2013