6

Ho una schermata di preferenza estesa PreferenceActivity. Per il targeting OS 4.0.3, volevo aggiungere l'icona < sulla barra delle azioni, quindi l'ho fatto in onCreate().setHomeButtonEnabled su PreferenceActivity e preferenza nidificata

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

Ha funzionato. < è stato aggiunto alla sinistra dell'icona dell'app. Ma quando tocco l'elemento che passa al livello successivo (più schermata di dettaglio), il < non verrà visualizzato. Tornando al livello superiore, viene visualizzato nuovamente lo <.

Non ho mai pensato a un meccanismo di preferenza nidificata poiché smart lo PreferenceActivity lo nasconde. Ora la mia domanda è: perché PreferenceActivity non visualizzerà lo < sulle preferenze nidificate?

Non voglio dire che non è necessario aggiungere < alla schermata delle preferenze. (Anche alcune delle app di Google aggiungono, altre no, quindi penso che non ci siano regole solide per questo.)

Se c'è una soluzione semplice per questo, voglio risolvere questo problema.

risposta

1

Invece di aggiungere in modo dinamico questo, si dovrebbe aggiungere la freccia scrivendo uno stile ActionBar personalizzato da utilizzare con il vostro tema dell'applicazione. (In sostanza, vedi https://stackoverflow.com/a/16247111/582004)

+0

Non riesco a far funzionare la soluzione. Ho ottenuto "Nessuna risorsa trovata che corrisponda al nome specificato (a 'tema' con valore '@android: style/MyTheme').". Ho cercato su Google di risolvere questo problema ma non ci sono riuscito. – Tomcat

+0

Hai già uno styles.xml? In tal caso, aggiungi il tema definito in