0

我有一个同时使用ActionBarSherlock 和ViewPagerIndicator. 我遇到了一些问题,包括作为一个库,所以我最终做的是将ViewPagerIndicator包含ActionBarSherlock作为一个库并从中删除支持 v4 jar ViewPagerIndicator(参见这篇文章: Using ActionBarSherlock & ViewPagerIndicator Syncronously Will Not Compile)。

一切都构建并且我的应用程序运行,但是当我用 膨胀视图时TabIndicator,会引发资源未找到异常。我已经将其追溯到vpi__tab_indicator.xml文件和它引用的 6 个可绘制对象。当我注释掉那些drawables时,视图膨胀得很好。ViewPagerIndicator我可以在项目以及R我的应用程序的文件中看到这些可绘制对象。有什么我想念的吗?有问题的活动具有以下风格: android:theme="@style/Theme.PageIndicatorDefaults"

编辑:
堆栈跟踪(如果有帮助)

07-30 14:48:22.391: E/AndroidRuntime(7517): 致命异常: main 07-30 14:48:22.391: E/AndroidRuntime(7517): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. myapp/com.myapp.Activity}:android.content.res.Resources$NotFoundException:来自可绘制资源 ID #0x7f02005a 07-30 14:48:22.391 的文件 res/drawable/vpi__tab_indicator.xml:E/AndroidRuntime(7517):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 07-30 14: 48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.access$600(ActivityThread.java:130) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread$ H.handleMessage(ActivityThread.java:1195) 07-30 14:48:22.391:E/AndroidRuntime(7517): 在 android.os.Handler.dispatchMessage(Handler.java:99) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.os.Looper.loop(Looper.java :137) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.main(ActivityThread.java:4745) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 java.lang.reflect.Method.invokeNative(Native Method) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 java.lang.reflect.Method.invoke(Method.java:511) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 dalvik.system.NativeStart.main(Native Method) 07-30 14:48:22.391:E/AndroidRuntime(7517): 原因: android.content.res.Resources$NotFoundException: 来自可绘制资源 ID #0x7f02005a 07-30 14:48:22.391 的文件 res/drawable/vpi__tab_indicator.xml: E/AndroidRuntime(7517):在 android.content.res.Resources.loadDrawable(Resources.java:1918) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.TypedArray.getDrawable(TypedArray.java:601) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.view.View.(View.java:3336) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.widget .TextView.(TextView.java:447) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator$TabView.(TabPageIndicator.java:252) 07-30 14:48:22.391 : E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.addTab(TabPageIndicator.java:152) 07-30 14:48:22.391:E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.notifyDataSetChanged(TabPageIndicator.java:209) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.setViewPager(TabPageIndicator.java :197) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.myapp.Activity.onCreate(Activity.java:27) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 android.app.Activity.performCreate(Activity.java:5008) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 07-30 14 :48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 07-30 14:48:22.391: E/AndroidRuntime(7517): ... 11 更多 07- 30 14:48:22.391:E/AndroidRuntime(7517):由:java.lang 引起。NullPointerException 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable. java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java :1915)在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable. java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java :818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable. java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java :818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java :881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java :881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48: 22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources .loadDrawable(Resources.java:1915)StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48: 22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources .loadDrawable(Resources.java:1915)

Thanks!

4

1 回答 1

1

When copying files from one place to the other, a couple of my ViewPagerIndicator drawables must have gotten corrupted along the way. I re-fetched the drawables from the repo, added them into the project, everything compiled and ran perfect.

Hopefully that will save someone else a few hours.

于 2012-07-30T22:17:11.153 回答