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, поэтому я ничего не понимаю о причинах этого. Помощь будет оценена, и если вы поможете, не могли бы вы также объяснить, что вызывает это и что вы сделали для ее решения? Я бы не хотел спрашивать кого-то каждый раз, когда у меня есть проблема, я тоже хочу учиться.

Поскольку вы используете минимальный 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; Как ваша библиотека

Intereting Posts
Определите, включено ли устройство Android Wear NestedScrollView не будет прокручиваться до конца при использовании с CollapsingToolbarLayout Android TV (Leanback Launcher) – Softkeyboard от разработчика Android не работает Не удалось автоматизировать Android UI-Tests на Jenkins-Server из-за сложных зависимостей lib-проекта от основного проекта (ов) Как реализовать TimeChart в achartengine с помощью android Ссылка на Facebook недоступна для моего проекта Android сбой на ListPreference Получить имя приложения из имени пакета Библиотека AppCompat 23.2.1 не работает с espresso v2.2.2 Как добавить PDFBox в проект Android или предложить альтернативу Сбой приложения Android после версии обновления SDK-инструментов (NoClassDefFound, версия инструмента 22) Предварительный просмотр камеры на Android – странно на Samsung Galaxy S Как мое приложение Android может обнаружить сброшенный звонок? React-Native: загрузка и загрузка файлов с веб-сайта android Как получить источник ImageView, чтобы изменить его?