ActionBarSherlock дает тонны «Call требует, чтобы уровень API уровня 11 (текущий минимум 7)»

Я загрузил ActionBarSherlock 4.0.3, разархивировал его и создал новый проект из папки library . Папка src была, по мнению Eclipse, полна ошибок, поэтому я следил за различными инструкциями в Интернете, например, добавляя android-support-v4.jar , устанавливая целевой API на 15 и уровень соответствия компилятора 1.6. Тем не менее, проект имеет 194 ошибки, все из которых: «Для вызова требуется уровень API 11 (текущий минимум 7)». Поэтому, когда я смотрю на одну из ошибок, я вижу следующее:

 @Override public void invalidateOptionsMenu() { getSherlock().dispatchInvalidateOptionsMenu(); } public void supportInvalidateOptionsMenu() { invalidateOptionsMenu(); //the previous line has this error in Eclipse: //Call requires API level 11 (current min is 7): android.app.Activity#invalidateOptionsMenu } 

Это выглядит странно, потому что invalidateOptionsMenu() переопределяется предыдущей функцией, но Eclipse все еще жалуется на функцию, требующую нового уровня API. Когда я смотрю на другие ошибки, я нахожу, что это имеет место и со многими другими ошибками.

У меня гораздо больше опыта работы с Python, чем с Java, поэтому я ничего не понимаю о причинах этого. Помощь будет оценена, и если вы поможете, не могли бы вы также объяснить, что вызывает это и что вы сделали для ее решения? Я бы не хотел спрашивать кого-то каждый раз, когда у меня есть проблема, я тоже хочу учиться.

Solutions Collecting From Web of "ActionBarSherlock дает тонны «Call требует, чтобы уровень API уровня 11 (текущий минимум 7)»"

Поскольку вы используете минимальный API-уровень 7, а invalidateOptionsMenu () не существует до уровня API 11, вы не можете переопределить его без ошибок, поскольку, если устройство запускает уровень API 7, эта функция даже не доступна в базовом классе И не существующая функция не может быть переопределена.

Случилось со мной после запуска чеков Lint. Попробуйте щелкнуть правой кнопкой мыши по проекту панели инструментов sherlock -> Инструменты Android -> Clear Mark Markers.

Используйте ActivityCompat , предоставляемый в банке поддержки.

Ответ на этот вопрос неверен. За исключением dbrown0708 Ответ, но я объявлю его более

Вы можете использовать invalidateOptionMenu в более низком API, используя ActivityCompat. Как это предусмотрено в библиотеке поддержки v4

Синтаксис invalidateOptionsMenu(Activity activity);

Код

 ActivityCompat.invalidateOptionsMenu(this); 

В API Начиная с уровня 11

 invalidateOptionsMenu(); 

Попробуйте использовать import android.support.v4.app.Fragment; Как ваша библиотека