我正在使用DirectionalViewPage来自库android-directionalviewpager-1.2.1fixed.jar和android.support.v4(r11)。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<android.support.v4.view.DirectionalViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
当我运行应用程序时,我有错误:
E / AndroidRuntime(15335):致命异常:主要 E / AndroidRuntime(15335):java.lang.RuntimeException:无法启动活动ComponentInfo {com.example.w / com.example.w.MainActivity}:android.view.InflateException:二进制XML文件行#6:扩展类android.support.v4.view.DirectionalViewPager 时出错 E / AndroidRuntime(15335):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1654) E / AndroidRuntime(15335):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1670) E / AndroidRuntime(15335):在android.app.ActivityThread.access $ 1500(ActivityThread.java:117) E / AndroidRuntime(15335):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931) E / AndroidRuntime(15335):在android.os.Handler.dispatchMessage(Handler.java:99) E / AndroidRuntime(15335):在android.os.Looper.loop(Looper.java:130) E / AndroidRuntime(15335):在android.app.ActivityThread.main(ActivityThread.java:3695) E / AndroidRuntime(15335):at java.lang.reflect.Method.invokeNative(Native Method) E / AndroidRuntime(15335):at java.lang.reflect.Method.invoke(Method.java:507) E / AndroidRuntime(15335):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:842) E / AndroidRuntime(15335):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600) E / AndroidRuntime(15335):at dalvik.system.NativeStart.main(Native Method) E / AndroidRuntime(15335):引起:android.view.InflateException:二进制XML文件行#6:错误膨胀类android.support.v4.view.DirectionalViewPager E / AndroidRuntime(15335):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:581) E / AndroidRuntime(15335):在android.view.LayoutInflater.rInflate(LayoutInflater.java:623) E / AndroidRuntime(15335):在android.view.LayoutInflater.inflate(LayoutInflater.java:408) E / AndroidRuntime(15335):在android.view.LayoutInflater.inflate(LayoutInflater.java:320) E / AndroidRuntime(15335):在android.view.LayoutInflater.inflate(LayoutInflater.java:276) E / AndroidRuntime(15335):at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) E / AndroidRuntime(15335):在android.app.Activity.setContentView(Activity.java:1657) E / AndroidRuntime(15335):at com.example.w.MainActivity.onCreate(MainActivity.java:12) E / AndroidRuntime(15335):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) E / AndroidRuntime(15335):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1618) E / AndroidRuntime(15335):......还有11个 E / AndroidRuntime(15335):引起:java.lang.ClassNotFoundException:loader dalvik.system.PathClassLoader中的android.support.v4.view.DirectionalViewPager [/data/app/com.example.w-2.apk ] E / AndroidRuntime(15335):at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:240) E / AndroidRuntime(15335):在java.lang.ClassLoader.loadClass(ClassLoader.java:551) E / AndroidRuntime(15335):在java.lang.ClassLoader.loadClass(ClassLoader.java:511) E / AndroidRuntime(15335):在android.view.LayoutInflater.createView(LayoutInflater.java:471) E / AndroidRuntime(15335):在android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:570) E / AndroidRuntime(15335):... 20多个
我做错了什么? 我看了this quation,但没有得到答案。
答案 0 :(得分:0)
这是因为这个类不是支持库的一部分。
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<com.directionalviewpager.DirectionalViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
您可以在此处获得如何使用它的说明: https://github.com/JakeWharton/Android-DirectionalViewPager
答案 1 :(得分:0)
我遇到了类似的问题,原因是DirectionalViewPager库使用的android-support-v4.jar库是旧版本,使其与当前使用的版本不兼容。也许您可以使用以下库进行更换。 https://github.com/castorflex/VerticalViewPager
此外,您还可以参考以下链接,这可能会有所帮助。
Error including Android-DirectionalViewPager .jar in Eclipse