13

我想在一个项目中使用标题中提到的库。

但是,两者都需要我的活动从一个特殊的活动类扩展:对于 Roboguice,它是 RoboAcitivity,它是 ActionbarSherlock 的 FragmentActivity。

ActionbarSherlock 扩展了兼容性库,很好,因为我还需要使用片段,并且项目级别 s < API 级别 11。

有没有人成功做到这一点?由于Java不支持多重继承(这通常是一件好事),所以我尝试在ActionbarSherlock项目中制作FragmentActivity来扩展RoboActivity而不是标准Activity。但我不能让它以这种方式编译。

控制台输出的一部分是:

[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:170: error: Error: No resource found that matches the given name: attr 'android:logo'.
[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:171: error: Error: No resource found that matches the given name: attr 'android:navigationMode'.
[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:174: error: Error: No resource found that matches the given name: attr 'android:progressBarPadding'.
[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:176: error: Error: No resource found that matches the given name: attr 'android:subtitle'.
[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:177: error: Error: No resource found that matches the given name: attr 'android:subtitleTextStyle'.
[2011-10-15 17:46:31 - RetainFragmentTest2] /Users/scythe/JavaLibs/JakeWharton-ActionBarSherlock-a4855d0/library/res/values-v11/abs__styles.xml:173: error: Error: No resource found that matches the given name: attr 'android:titleTextStyle'.
4

6 回答 6

8

我确信有更好的方法,但这就是我最终让 ActionBarSherlock 和 RoboGuice 在我的小应用程序中工作的方式。

于 2011-11-21T21:31:59.993 回答
6

除了兼容性库的问题之外,您可能还会为如何从 Java 扩展您的活动RoboActivitySherlockActivity苦恼 - 在 Java 中,您没有多重继承 :-)

解决这个问题的方法是自己手工制作RoboSherlockActivity或使用 Roberto Tyley 的库

例子

于 2012-02-25T18:37:14.133 回答
3

我只想通过“简单地”将 roboguice-sherlock 添加到您的 maven pom 中来添加它,它神奇地起作用。

    <dependency>
        <groupId>com.github.rtyley</groupId>
        <artifactId>roboguice-sherlock</artifactId>
        <version>1.5</version>
    </dependency>
于 2013-04-18T16:07:03.277 回答
1

另一个例子刚刚在 github 上发布。它还使用了一大堆其他好的工具。查看https://github.com/github/gauges-android

于 2012-02-22T21:05:37.950 回答
0

可以在此处找到另一个工作示例和实用程序示例:http ://search.maven.org/#artifactdetails%7Ccom.github.rtyley%7Croboguice-sherlock%7C1.3%7Cjar

于 2013-06-06T20:15:12.140 回答
0

RoboGuice 3开始,roboguice-sherlock框架包含在 RoboGuice 发行版中。类的命名方案仍然相同

该项目中的所有类都与 RoboGuice 同名,在“Robo”之后插入“Sherlock”,即 Robo Sherlock ListFragment

除了这些类现在驻留在roboguice.activity包中。例如
参见。RoboSherlockActivity

于 2014-11-03T22:56:02.003 回答