DirectionalViewPager ClassNotFoundException

时间:2013-02-05 20:18:58

标签: android

我正在使用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,但没有得到答案。

2 个答案:

答案 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