ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: main / android.view.InflateException - PullRequest
1 голос
/ 22 февраля 2012

Я пытаюсь создать ViewPager для моего приложения.Я новичок в разработке для Android, так что сначала я пробую пример, чтобы посмотреть, как он работает с этого сайта.Когда я пытаюсь запустить его в эмуляторе, он принудительно закрывается.Я не знаю, почему я получаю ошибку, я проверял код много раз, и нет никакой разницы.

Так как код такой же, как в ссылке выше, я предоставляю только logcat.

01-30 04:07:40.059: E/AndroidRuntime(3013): FATAL EXCEPTION: main
01-30 04:07:40.059: E/AndroidRuntime(3013): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testviewpager/com.testviewpager.TestViewPagerActivity}: android.view.InflateException: Binary XML file line #6: Error inflating class com.viewpagerindicator.TitlePagePageIndicator
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread.access$1500(ActivityThread.java:117)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.os.Handler.dispatchMessage(Handler.java:99)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.os.Looper.loop(Looper.java:123)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread.main(ActivityThread.java:3683)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at java.lang.reflect.Method.invokeNative(Native Method)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at java.lang.reflect.Method.invoke(Method.java:507)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at dalvik.system.NativeStart.main(Native Method)
01-30 04:07:40.059: E/AndroidRuntime(3013): Caused by: android.view.InflateException: Binary XML file line #6: Error inflating class com.viewpagerindicator.TitlePagePageIndicator
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.rInflate(LayoutInflater.java:623)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.inflate(LayoutInflater.java:408)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.inflate(LayoutInflater.java:320)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.inflate(LayoutInflater.java:276)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.Activity.setContentView(Activity.java:1657)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at com.testviewpager.TestViewPagerActivity.onCreate(TestViewPagerActivity.java:14)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
01-30 04:07:40.059: E/AndroidRuntime(3013):     ... 11 more
01-30 04:07:40.059: E/AndroidRuntime(3013): Caused by: java.lang.ClassNotFoundException: com.viewpagerindicator.TitlePagePageIndicator in loader dalvik.system.PathClassLoader[/data/app/com.testviewpager-1.apk]
01-30 04:07:40.059: E/AndroidRuntime(3013):     at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at java.lang.ClassLoader.loadClass(ClassLoader.java:551)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.createView(LayoutInflater.java:471)
01-30 04:07:40.059: E/AndroidRuntime(3013):     at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570)
01-30 04:07:40.059: E/AndroidRuntime(3013):     ... 20 more

com.viewpagerindicator - это проект библиотеки (по ссылке его com.jakewharton.android.viewpagerindicator, я знаю, что я только изменил его на оригинал), там я ничего не изменил, только импортированный с сайта авторов,Так что, если кто-нибудь знает, что я сделал не так, пожалуйста, помогите.Я могу предоставить больше информации, если этого недостаточно.

Ответы [ 2 ]

2 голосов
/ 06 марта 2012

У меня та же проблема, но я понял, что решение очень простое, если вы следуете этой ссылке , как и мне, вам нужно удалить эту часть [jakewharton.android] из основного макета, ссылаясь на главную ссылку создайте макет этого вызывающего inflateException и сделайте его таким же, как имя пакета вашей библиотеки viewPagerIndicator

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    <com.viewpagerindicator.TitlePageIndicator
        android:id="@+id/indicator"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1" />
</LinearLayout>
0 голосов
/ 22 февраля 2012

Я не верю, что вы правильно импортируете или связываете библиотеку.

Вот пост, который показывает простой пример того, как импортировать похожий тип lib и связать его.

с помощью-на-johannilsson-андроид-ActionBar библиотека

Я сам создал пейджер, но не стал использовать эту библиотеку. Вместо этого я использовал пакет поддержки Android. Это работает намного лучше для меня, потому что мне не нужно импортировать весь пакет, я просто должен связать lib.

библиотека совместимости

...