Подтвердить что ты не робот

Ошибка импорта HoloEverywhere

Прежде всего, я новичок в Android. Я делаю приложение, и я реализую библиотеку под названием HoloEverywhere. Эта библиотека использует в theme.xml библиотеку ActionBar Sherlock. Я импортировал в свое рабочее пространство ActionBar Sherlock, и я добавил его в HoloEverywhere. Затем, я добавил HoloEverywhere в свой проект, но когда я пытаюсь его использовать, у меня есть ошибка (я пытался использовать кнопку):

The following classes could not be instantiated:
- com.WazaBe.HoloEverywhere.ButtonHolo (Open Class, Show Error Log)
See the Error Log (Window > Show View) for more details.
Tip: Use View.isInEditMode() in your custom views to skip code when shown in Eclipse.

Я помещаю путь класса в свой макет, например:

<com.WazaBe.HoloEverywhere.ButtonHolo
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/text" />

Как я могу решить эту проблему и использовать эту библиотеку в своем проекте?. Благодаря:) PS. Извините за мой английский, я знаю, что это не очень хорошо.

4b9b3361

Ответ 1

Выполните следующие шаги (взято из блога здесь), чтобы добавить ActionBarSherlock

  • Загрузите.zip/.tgz и извлеките его
  • Перейдите в eclipse и выберите File->New-> Android Project
  • Выберите Create project from existing source, а затем browse в папку library внутри извлеченной папки AndroidBarSherlock
  • Цель сборки должна быть последней (14 или 15), но ваша minSdkVersion может быть меньше (7 или 8).
  • Нажмите Finish
  • Щелкните правой кнопкой мыши на вновь созданный проект и перейдите к Properties.
  • Под заголовком Android вы должны увидеть раздел library с флажком IsLibrary. Убедитесь, что он установлен.
  • Щелкните правой кнопкой мыши → Свойства проекта, в который вы хотите добавить AndroidBarSherlock под заголовком Android, и раздел library выберите Add.
  • Вы должны увидеть библиотеку ActionBarSherlock, добавить ее в свой проект
  • Наконец, если вы использовали поддержку совместимости, вам нужно удалить эту банку, поскольку она включена в ActionBarSherlock.

Выполните следующие шаги, чтобы добавить HoloEverywhere

  • Загрузить Почтовый адрес от GitHub на ваш компьютер.
  • Разблокировать папку
  • Перейдите в eclipse и выберите File->New-> Android Project
  • Выберите Create project from existing source, а затем browse в папку HoloEverywhereLib внутри извлеченной папки
  • Нажмите Finish
  • Щелкните правой кнопкой мыши на вновь созданный проект и перейдите к Properties.
  • Под заголовком Android вы должны увидеть раздел library с флажком IsLibrary. Убедитесь, что этот флажок установлен, и нажмите Add и ранее добавленную библиотеку ActionBarSherlock.

Выполните следующие шаги, чтобы добавить HoloEverywhere в свой проект

  • Создайте новый проект для Android
  • Щелкните правой кнопкой мыши по проекту → Свойства → Android → Добавить, добавить оба ActionBarSherlock и HoloEverywhere
  • Измените Android Manifest на следующий

    <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/Holo.Theme">

  • Отредактируйте main.xml, чтобы включить виджеты темы Holo.

  • Измените activity следующим образом

    public class ChkActionBarSherlock extends SherlockActivity {
        @Override
         public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
    
    }
    

Ответ 2

Кажется, что

android:theme="@style/Theme.HoloEverywhereDark.Sherlock"

вызывает ошибку.

измените его:

android:theme="@style/Holo.Theme"

здесь:

Github

правильно!

Ответ 3

У меня была такая же ошибка в моем проекте. Это то, что я сделал, щелкните правой кнопкой мыши библиотеку HoloEverywhere (properties- > android- > ), чтобы удалить ActionBarSherlock из списка, а затем повторно добавить проект ActionBarSherlock, щелкнув add, после чего очистите проект, и все ошибки исчезнут.

Ответ 4

Создатель ActionBarSherlock, Джейк Уортон, объявил в Google+, что дальнейшее развитие ActionBarSherlock прекращено. ActionBarSherlock 4.4 является последней версией и может получить исправления ошибок, но не будет никаких новых функций:

Хотя в ближайшие недели может быть точка-релиз или две, версия 4.4 формируется до версии Last Release ™.

https://plus.google.com/+JakeWharton/posts/F3HkWY9J8fK

Как я спросил на форуме holoeverywhere и ответил разработчиками:

HoloEverywhere не имеет никакой зависимости от ABS, поскольку v2.0

Таким образом, вы больше не должны использовать ABS и удалять библиотеку из своего проекта и заменять ее holoeverywhere напрямую или с помощью ActionbarCompat из библиотеки поддержки google.