Библиотека панели действий 4.0.2 с SupportActivity не может быть разрешена

Заранее спасибо за просмотр. Я немного над моей головой с этим.

У меня есть проект Android, в котором используется библиотека совместимости Action Bar Sherlock. Я смог нормально запустить его со старой версией ~ 3.5, которая включала собственную библиотеку android.support.v4 с дополнительным классом под названием «SupportActivity».

Я случайно обновил библиотеку Sherlock до ее самой последней версии (4.0.2), которая избавилась от исходных файлов android.support.v4 и просто использует файл jar. Однако этот файл jar не ссылается на «SupportActivity.class», и по какой-то причине в моем проекте теперь есть эта ошибка:

   The type android.support.v4.app.SupportActivity cannot be resolved.
   It is indirectly referenced from required .class files
   LoadMapTask.java     /ncas/src/viiad/task    line 65 Java Problem

Что интересно, эта ошибка падает на строку комментария. Код для "LoadMapTask.java" можно посмотреть здесь.

Поскольку на него «косвенно ссылаются», я не могу найти ни одного экземпляра SupportActivity, на который есть ссылка где-либо в моем проекте.

В настоящее время я использую Eclipse Indigo, компилирую с помощью API Google версии 15 (4.0.3) и использую файл sdk/extras/android/support/v4/jar. В моем пути сборки также есть панель действий Sherlock (которая отлично компилируется) в качестве обязательного проекта.

Дайте мне знать, если вам нужна дополнительная информация. Комментарии или помощь любого рода приветствуются. Благодарю вас!


person Will R    schedule 17.05.2012    source источник


Ответы (3)


ActionBarSherlock v4 использует SherlockActivity и SherlockFragmentActivity. Дополнительную информацию об использовании можно найти на веб-сайте.

person Jake Wharton    schedule 17.05.2012

Я решил эту проблему, вернувшись к более старой версии панели действий Sherlock (3.5). Если бы я хотел использовать 4.0 или более позднюю версию, мне, вероятно, пришлось бы использовать в своем коде методы из SherlockActivity или SherlockFragmentActivity. В настоящее время это вне меня.

person Will R    schedule 24.05.2012

Поскольку ABS обновлен до версии 4, SupportActivity больше нет, просто используйте android.app.Activity.

И используйте SherlockActivity и SherlockFragmentActivity для замены андроида.

Вам лучше проверить дополнительные примечания от Роберто, если это необходимо.

person Shawn    schedule 26.03.2013