My PreferenceActivity funziona alla grande tranne che per una cosa. L'icona ActionBar, che riporta perfettamente l'utente all'attività precedente in tutte le altre mie attività, non funziona in PreferenceActivity. Quando faccio clic sull'icona, lampeggia come se stesse per tornare all'attività precedente, ma PreferenceActivity rimane sullo schermo. È interessante notare che il pulsante Indietro restituisce l'utente all'attività precedente. C'è un modo per rendere l'icona Home di ActionBar "normalmente" in PreferenceActivity?L'icona Home della barra delle azioni di PreferenceActivity non ritorna a casa (a differenza di ET :)
Ecco il codice:
public class SettingsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Set actionBar controls for Settings
TextView actionBarTitle = (TextView) findViewById(Resources.getSystem().getIdentifier("action_bar_title", "id", "android"));
ActionBar actionBar = getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
actionBar.setIcon(R.drawable.ic_launcher);
actionBar.setDisplayShowTitleEnabled(true);
actionBarTitle.setTextColor(Color.WHITE);
actionBarTitle.setTextSize(16);
actionBar.setTitle(R.string.settings_menu_title);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { //Build.VERSION_CODES.ICE_CREAM_SANDWICH
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true); // show back arrow on title icon
actionBar.setDisplayShowHomeEnabled(true);
}
...... Handle prefs (all working fine).....
}
}
////// E il codice chiamante ////////
//Use menu button to access settings screen
@Override
public boolean onKeyDown(int keycode, KeyEvent e) {
switch(keycode) {
case KeyEvent.KEYCODE_MENU:
Intent intent = new Intent(this, SettingsActivity.class);
startActivity(intent);
return true;
}
return super.onKeyDown(keycode, e);
} // [END onKeyDown (for menu click capture) ]
+1 se per nient'altro che furtivamente un riferimento ET in – Simon
Come sarebbe getActionBar() lavoro nella vostra onCreate, se si sta estendendo da PreferenceActivity ?? –