在
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)
但更奇怪的是.查看兼容性库源,该方法实际上存在,但它是空的.
解决方法
经过多次来回调试我发现了问题.事实证明我在我的项目中使用了旧版本的兼容性库.我现在已经更新了我的项目,工作正常.作为参考,所需的更改是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.