我正在尝试为我的应用创建一个ViewPager。我是Android新手,所以首先我尝试一个样本,看看它是如何工作的this网站。 当我尝试在模拟器中运行它时,它会强制关闭。我不知道为什么我得到错误,我检查代码很多次,没有区别。
因为代码与上面的链接相同,我只提供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是一个libary项目(在链接上它的com.jakewharton.android.viewpagerindicator,我知道,我只是把它改成了原版),我没有改变,只从作者网站导入。 所以,如果有人知道我做错了什么,请帮助。如果这还不够,我可以提供更多信息。
答案 0 :(得分:2)
我有同样的问题,但我发现解决方案非常简单,如果你跟我一样this link 你必须从你的主要布局中删除这部分[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>
答案 1 :(得分:0)
我不相信您正在正确导入或链接库。
这是一篇文章,展示了如何导入类似类型的lib并将其链接起来的简单示例。
using-the-johannilsson-android-actionbar-library
我自己制作了一个视图寻呼机,但最终没有使用这个库。 相反,我使用了android支持包。它对我来说效果更好,因为我不必导入整个包,我只需链接lib。