4

在 Android 应用程序中,我实现了一个片段,该片段覆盖onViewCreated以在视图存在后设置一些 OnClickListeners。

当我实施时,这一切都很好。但是,一旦我添加了兼容性库 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)

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

4

1 回答 1

3

经过多次来回调试,我发现了问题。原来我在我的项目中使用了旧版本的兼容性库。我现在已经更新了我的项目并且一切正常。作为参考,需要对 maven pom 文件中的兼容性库依赖项进行更改,如下所示

        <dependency>
            <groupId>android.support</groupId>
            <artifactId>compatibility-v4</artifactId>
            <version>r3</version>
        </dependency>

使用 Maven Android SDK Deployer 将库部署到您的 Maven 存储库。我还更新了我的 github 帐户上的 roboguice wiki和链接的要点。

于 2011-10-18T19:22:30.397 回答