6

Mam przedłużony ekran preferencji PreferenceActivity. Aby skierować system operacyjny 4.0.3, chciałem dodać ikonę < na pasku akcji, więc zrobiłem to w onCreate().setHomeButtonEnabled na PreferenceActivity i zagnieżdżonej preferencji

ActionBar actionBar = getActionBar(); 
actionBar.setHomeButtonEnabled(true); 
actionBar.setDisplayHomeAsUpEnabled(true); 

Zadziałało. < został dodany po lewej stronie ikony aplikacji. Ale kiedy stukam element, który przechodzi do następnego poziomu (więcej ekranu szczegółów), < nie będzie wyświetlany. Wracając do najwyższego poziomu, ponownie pojawia się <.

Nigdy nie myślałem o mechanizmie zagnieżdżonych preferencji, ponieważ ukrył go sprytnie ukryty PreferenceActivity. Teraz moje pytanie brzmi, dlaczego nie będzie wyświetlać dla preferencji zagnieżdżonych?

Nie chcę argumentować, że nie muszę dodawać < do ekranu preferencji. (Nawet niektóre z aplikacji Google dodają, niektóre nie, więc myślę, że nie ma na to solidnej reguły).

Jeśli jest na to proste rozwiązanie, chcę rozwiązać ten problem.

Odpowiedz

1

Zamiast dynamicznie dodanie tego należy dodać strzałkę pisząc własny styl ActionBar być używany z motywu aplikacji. (Zasadniczo zobaczyć https://stackoverflow.com/a/16247111/582004)

+0

Nie mogłem sprawić, aby twoje rozwiązanie działało. Mam "Nie znaleziono zasobów pasujących do podanej nazwy (w" temacie "z wartością" @android: style/MyTheme ").". Przeszukałem go, aby rozwiązać ten problem, ale się nie udało. – Tomcat

+0

Czy masz już plik styles.xml? Jeśli tak, dodaj do tego pliku motyw zdefiniowany w