Ошибка синтаксического анализа HoloEverywhere xml/сбой приложения

По какой-то причине я получаю эту ошибку при использовании HoloEverywhere. Мое приложение аварийно завершает работу при создании, и мои макеты xml не отображаются для версий ниже 3.0. Вот моя ошибка xml.

Failed to configure parser for C:\Users\Akhil\HoloEverywhere\hololib\res\color\secondary_text_holo_light.xml
Failed to configure parser for C:\Users\Akhil\HoloEverywhere\hololib\res\drawable\background_cache_hint_selector_holo_light.xml
Failed to configure parser for C:\Users\Akhil\HoloEverywhere\hololib\res\color\primary_text_holo_light.xml
Exception details are logged in Window > Show View > Error Log

А вот и мой логкэт. который ссылается на ошибку в строке 57 моей активности onCreate. Строка 57 расширяет файл xml. Это происходит только с HoloEverywhere. Пожалуйста помоги!

12-09 03:01:20.893: E/AndroidRuntime(327): FATAL EXCEPTION: main
12-09 03:01:20.893: E/AndroidRuntime(327): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sample/com.example.sample.CourseListActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class fragment
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.os.Looper.loop(Looper.java:123)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread.main(ActivityThread.java:4627)
12-09 03:01:20.893: E/AndroidRuntime(327):  at java.lang.reflect.Method.invokeNative(Native Method)
12-09 03:01:20.893: E/AndroidRuntime(327):  at java.lang.reflect.Method.invoke(Method.java:521)
12-09 03:01:20.893: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-09 03:01:20.893: E/AndroidRuntime(327):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-09 03:01:20.893: E/AndroidRuntime(327):  at dalvik.system.NativeStart.main(Native Method)
12-09 03:01:20.893: E/AndroidRuntime(327): Caused by: android.view.InflateException: Binary XML file line #1: Error inflating class fragment
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:576)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.view.LayoutInflater.inflate(LayoutInflater.java:385)
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:278)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:263)
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:258)
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.LayoutInflater.inflate(LayoutInflater.java:253)
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.app.Activity.setContentView(Activity.java:242)
12-09 03:01:20.893: E/AndroidRuntime(327):  at com.example.sample.CourseListActivity.onCreate(CourseListActivity.java:57)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
12-09 03:01:20.893: E/AndroidRuntime(327):  ... 11 more
12-09 03:01:20.893: E/AndroidRuntime(327): Caused by: java.lang.ClassNotFoundException: Could not find class: fragment
12-09 03:01:20.893: E/AndroidRuntime(327):  at org.holoeverywhere.LayoutInflater.onCreateView(LayoutInflater.java:318)
12-09 03:01:20.893: E/AndroidRuntime(327):  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:563)
12-09 03:01:20.893: E/AndroidRuntime(327):  ... 21 more

person aindurti    schedule 09.12.2012    source источник


Ответы (3)


журнал ошибок говорит

Could not find class: fragment

Фрагменты требуют API уровня 11 или выше :)

Если вы хотите использовать Fragments в API ‹ 11, вам необходимо использовать библиотеку поддержки пакет для этого.

person Mohsin Naeem    schedule 09.12.2012
comment
Я использую это. Но теперь я должен использовать класс фрагментов, указанный в holoeverywhere. Однако использование тега макета фрагмента дает мне ошибки. Кто-нибудь знает правильный тег макета? - person aindurti; 09.12.2012

Похоже, это было исправлено в HoloEverywhere 1.4.1: https://github.com/ChristopheVersieux/HoloEverywhere/issues/

Обновление до 1.4.1 решило проблему для вас?

person marczych    schedule 02.01.2013

Попробуйте добавить свой фрагмент программно. То есть ваш xml должен иметь только «контент» макета и onCreate:

if (savedInstanceState == null) {
    // Add the fragment on initial activity setup
    MyFragment myFragment = new MyFragment();
    getSupportFragmentManager().beginTransaction().
         add(R.id.content, myFragment).commit();
}
person JPMagalhaes    schedule 25.01.2013