W systemie Android wyrażenie "przestarzałe" oznacza "mamy inne rozwiązanie, które naszym zdaniem powinno się wziąć pod uwagę". W szczególności w sytuacjach takich jak ten nie ma się innego wyboru, niż użycie addPreferencesFromResource()
na systemie Android 2.x, ponieważ onBuildHeaders()
(metoda stosowana na poziomie interfejsu API 11+) nie istnieje.
Można tworzyć kod, który obsługuje zarówno:
public class EditPreferences extends SherlockPreferenceActivity {
@SuppressWarnings("deprecation")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT<Build.VERSION_CODES.HONEYCOMB) {
addPreferencesFromResource(R.xml.preferences);
addPreferencesFromResource(R.xml.preferences2);
}
}
@Override
public void onBuildHeaders(List<Header> target) {
loadHeadersFromResource(R.xml.preference_headers, target);
}
}
Tu używamy onBuildHeaders()
na poziomie API 11+ i addPreferencesFromResource()
API na poziomie 10 i poniżej. Here is the complete sample project, z którego pobrany został ten kod.
jak to rozwiązałeś @PolHallen? – gumuruh