Secondo Google's document, è necessario getActionBar().setDisplayHomeAsUpEnabled(true)
per visualizzare il pulsante su. Ho creato un'attività bare-bone utilizzando la procedura guidata in Eclipse e specificato la sua attività principale. Non sono riuscito a trovare alcun getActionBar().setDisplayHomeAsUpEnabled(true)
nel codice generato automaticamente, ma il pulsante su è presente all'avvio di questa attività e funziona come previsto. Qualcuno potrebbe far luce su questo?Perché il pulsante su è presente senza setDisplayHomeAsUpEnabled()?
public class FooActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_foo);
//more code...
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
//more code...
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
//more code...
return rootView;
}
}
}
Grazie mille per la pronta risposta. Significa che il documento è sbagliato (ad esempio getActionBar(). SetDisplayHomeAsUpEnabled (true) è ridondante) o ci sono circostanze in cui tale chiamata è necessaria per mostrare il pulsante su? – Hong
Non lo chiamerei "sbagliato", ma probabilmente potrebbe essere riformulato per essere un po 'più chiaro. Lo stato dice "Ciò consente al sistema di facilitare schemi di navigazione come Up ..." sull'aggiunta di un 'parentActivityName'. Ma nel tuo caso è ridondante chiamare 'ActionBar.setDisplayHomeAsUpEnabled'. – adneal
Esiste una circostanza in cui setDisplayHomeAsUpEnabled è necessario? Lo sto chiedendo perché voglio essere sicuro che aggiungere un parentActivityName sia tutto ciò che devo fare per avere il pulsante "su" per migliaia di modelli diversi di dispositivi Android. Ho letto il documento più volte e mi dà l'impressione che l'aggiunta di parentActivityName sia "il primo passo" (citato dal documento), e il secondo passo è chiamare setDisplayHomeAsUpEnabled. Sembra che ci sia anche un terzo passaggio. Mi dispiace per la mia comprensione limitata del documento. – Hong