0

我正在使用库android-directionalviewpager-1.2.1fixed.jar中的DirectionalViewPage r和 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): 在 java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime(15335): 在 java.lang.reflect.Method.invoke(Method.java: 507) E/AndroidRuntime(15335):在 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):在 com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:207) E/AndroidRuntime(15335):在 android.app。 Activity.setContentView(Activity.java:1657) E/AndroidRuntime(15335): 在 com.example.w.MainActivity.onCreate(MainActivity.java:12) E/AndroidRuntime(15335): 在 android.app.Instrumentation.callActivityOnCreate(仪器仪表。java:1047) E/AndroidRuntime(15335): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1618) E/AndroidRuntime(15335): ... 11 更多 E/AndroidRuntime(15335):引起:java.lang.ClassNotFoundException: android.support.v4.view.DirectionalViewPager in loader dalvik.system.PathClassLoader[/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 更多

我做错了什么?我读了这个问题,但没有得到答案。

4

2 回答 2

0

我遇到了类似的问题,原因是 DirectionalViewPager 库使用的 android-support-v4.jar 库版本较旧,与当前使用的开发版本不兼容。也许您可以使用以下库进行替换。 https://github.com/castorflex/VerticalViewPager

此外,您还可以参考下面的链接可能会有所帮助。

在 Eclipse 中包含 Android-DirectionalViewPager .jar 时出错

于 2014-02-13T02:14:43.807 回答
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

于 2013-02-05T20:26:58.843 回答