onViewCreated与兼容库

时间:2011-10-07 20:45:54

标签: android android-fragments roboguice

在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)

但更奇怪的是。查看兼容性库源,该方法实际上存在,但它是空的。

1 个答案:

答案 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 wikilinked gist on my github account