Има ли начин да използвате Roboguice и ActionbarSherlock в един проект?

Бих искал да използвам библиотеките, споменати в заглавието, в един проект.

И двете обаче се нуждаят от моите дейности, за да се разширят от специален клас дейности: в случая на Roboguice това е RoboAcitivity, а това е FragmentActivity за ActionbarSherlock.

ActionbarSherlock разширява библиотеката за съвместимост, което е хубаво, защото също трябва да използвам фрагменти и нивото на проекта s ‹ API ниво 11.

Някой успял ли е да направи това? Тъй като Java не поддържа множествено наследяване (което обикновено е добро), опитах се да направя FragmentActivity в проекта ActionbarSherlock, за да разшири 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'.

person Zsombor Erdődy-Nagy    schedule 15.10.2011    source източник
comment
Мисля, че си твърде алчен :P Но смятам, че проблемът ти е защото abs_styles няма споменатите атрибути   -  person the100rabh    schedule 15.10.2011


Отговори (6)


Сигурен съм, че има по-добър начин, но ето как Най-накрая накарах ActionBarSherlock и RoboGuice да работят в моето малко приложение.

person Max    schedule 21.11.2011
comment
Благодаря, търсих нещо подобно! - person Zsombor Erdődy-Nagy; 22.11.2011

Освен проблемите с библиотеката за съвместимост, може да се затрудните и с това как да разширите дейността си както от RoboActivity, така и от SherlockActivity - в Java нямате множествено наследяване :-)

Начинът, по който решавате това, е като изработите ръчно свой собствен RoboSherlockActivity или използвате библиотеката на Роберто Тайли.

Вижте пример.

person Jörg    schedule 25.02.2012

Бих искал само да добавя, че като „просто“ добавите roboguice-sherlock към вашия maven pom, той работи магически.

    <dependency>
        <groupId>com.github.rtyley</groupId>
        <artifactId>roboguice-sherlock</artifactId>
        <version>1.5</version>
    </dependency>
person pl3kn0r    schedule 18.04.2013

Друг пример току-що беше пуснат в github. Той използва цял куп други добри инструменти в допълнение. Вижте https://github.com/github/gauges-android

person Manfred Moser    schedule 22.02.2012

Друг пример за работещ пример и помощна програма можете да намерите тук: http://search.maven.org/#artifactdetails%7Ccom.github.rtyley%7Croboguice-sherlock%7C1.3%7Cjar

person AllDayAmazing    schedule 06.06.2013

Започвайки с RoboGuice 3, roboguice-sherlock рамката е включена в разпространението RoboGuice. Схемата за именуване на класа все още е същата

Всички класове в този проект имат същото име като тези на RoboGuice, като „Sherlock“ е вмъкнато след „Robo“, т.е. RoboSherlockListFragment

с изключение на това, че класовете сега се намират в roboguice.activity пакет.
Вижте RoboSherlockActivity например.

person schnatterer    schedule 03.11.2014