2013-07-16 15 views
8

Moja aplikacja obsługuje od 2.2 do wersji Androida. Chodzi o to, że na stronie Ustawienia używam teraz PreferenceActivity. Jednak, jak wiadomo, wiele z jego metod jest przestarzałych i zalecają stosowanie ustawień opartych na Fragmentach. Jednak odkryłem, że jeśli zmienię działanie na PreferenceFragment i Fragment Activity, nie będę mógł już obsługiwać wersji 2.2 i 2.3, ponieważ PreferenceFragment jest obsługiwany powyżej poziomu interfejsu API 11. Nawet jeśli korzystam z biblioteki pomocy technicznej, to nie zawiera ona PreferenceFragment! Nie wiem, dlaczego Google nie dodał PreferenceFragment do biblioteki pomocy technicznej.Android - Czy powinienem nadal używać PreferenceActivity?

W każdym razie, myślę, że nadal mogę używać starej PreferenceActivity, ale jeśli jest ona przestarzała, dlaczego nie obsługuje ona alternatywy w bibliotece wsparcia?

Każda rada jest doceniana!

Odpowiedz

6

To, że jest przestarzałe, nie oznacza, że ​​przestaje działać - nowsze urządzenia nadal obsługują PreferenceActivity bez problemów. Jednak na większych urządzeniach (takich jak tablety 10-calowe) obsługa podwójnego panelu PreferenceFragment/PreferenceHeaders wygląda o wiele lepiej. Dopóki Google nie doda ich do biblioteki pomocy technicznej, można użyć bibliotek innych firm, takich jak UnifiedPreferences, aby używać jednego interfejsu API dla wszystkich wersje Androida:

+0

Dzięki. Może będę musiał poczekać ... Wciąż nie rozumiem, dlaczego Google nie dodał go do wersji 13. Podejrzewam, że nie dodadzą go w ogóle lub z jakiegokolwiek innego powodu? hmmm – user2062024

+0

Myślę, że actionBarSherlock ma również swoją własną aktywność preferencji, no? –

+0

@androiddeveloper - ma 'SherlockPreferenceActivity', aby dodać pasek akcji do' PreferenceActivity', ale nie dodaje obsługi 'PreferenceFragment'/'PreferenceHeaders' .Zauważ, że UnifiedPreferences działa również z ABS. – ianhanniballake

Powiązane problemy