在Android应用程序中,我实现了一个片段,覆盖onViewCreated以在视图存在时设置一些OnClickListener。
当我实施时,一切正常。但是,只要我添加兼容性库v4 r3,似乎根本不会调用该方法。
现在我将我的设置迁移到onResume,但这真的不太理想。所以这是我的问题:
这是兼容性库中的错误吗?
有更好的解决方法吗?
经过多次挖掘和尝试不同的事情后,我得到了这个堆栈跟踪,这让我相信它确实是兼容性库中的一个错误。
10-07 14:25:11.130: ERROR/AndroidRuntime(2964): FATAL EXCEPTION: main
java.lang.NoSuchMethodError: android.support.v4.app.Fragment.onViewCreated
at roboguice.fragment.RoboFragment.onViewCreated(RoboFragment.java:18)
但更奇怪的是。查看兼容性库源,该方法实际上存在,但它是空的。
答案 0 :(得分:3)
经过多次来回调试我发现了问题。事实证明我在我的项目中使用了旧版本的兼容性库。我现在已经更新了我的项目,工作正常。作为参考,所需的更改是maven pom文件中的兼容性库依赖关系,就像这样
<dependency>
<groupId>android.support</groupId>
<artifactId>compatibility-v4</artifactId>
<version>r3</version>
</dependency>
使用Maven Android SDK Deployer将库部署到您的Maven仓库。我还有updated the roboguice wiki和linked gist on my github account。