Quando si utilizza il nuovo Toolbar
con la libreria di supporto appcompat, mi sembra che il pulsante Home non funzioni come prima, a meno che non si imposti un menu di opzioni valido. Un semplice e bog un'attività standard:Pulsante barra degli strumenti home non funziona se non è disponibile il menu opzioni
public class MyActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.some_page);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar bar = getSupportActionBar();
bar.setHomeButtonEnabled(true);
bar.setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// getMenuInflater().inflate(R.menu.some_menu, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed() or finish() or whatever();
break;
}
return super.onOptionsItemSelected(item);
}
}
Se c'è un menu fisso a onCreateOptionsMenu()
, onOptionsItemSelected()
sarà chiamato a posto con android.R.id.home
e tutto va bene. Tuttavia, se non c'è affatto lo onCreateOptionsMenu()
(o è vuoto, restituendo true
o chiamando la funzione super
), non verrà chiamato il numero onOptionsItemSelected()
, quindi non c'è possibilità di prendere il clic sul pulsante Home. Ho anche provato a passare un menu vuoto a onCreateOptionsMenu()
ma non è stato d'aiuto.
C'è una soluzione che ci consente di avere un pulsante Home funzionante su pagine che non richiedono un menu di opzioni funzionali?
ho trovato ora questo, è scivolato la mia attenzione in un primo momento perché sono * non * su JB ma KK: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –