2015-01-06 10 views
6

Bei Verwendung der neuen Toolbar mit der appcompat-Supportbibliothek scheint mir die Home-Schaltfläche nicht mehr so ​​zu funktionieren, wie Sie es zuvor festgelegt haben, es sei denn, Sie legen ein gültiges Optionsmenü fest. Eine einfache und Moorstandardaktivität:Symbolleisten-Home-Taste funktioniert nicht, wenn kein Optionsmenü vorhanden ist

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); 
    } 
} 

Wenn ein Menü in onCreateOptionsMenu() gesetzt ist, onOptionsItemSelected() wird alles in Ordnung mit android.R.id.home aufgerufen werden und alles ist in Ordnung. Wenn es jedoch überhaupt keinen onCreateOptionsMenu() gibt (oder leer ist, der entweder true zurückgibt oder die super-Funktion aufruft), wird onOptionsItemSelected() überhaupt nicht aufgerufen, daher gibt es keine Chance, den Klick auf die Home-Schaltfläche zu erfassen. Ich habe sogar versucht, ein leeres Menü an onCreateOptionsMenu() zu übergeben, aber es hat nicht geholfen.

Gibt es eine Problemumgehung, die es uns ermöglicht, eine funktionierende Home-Schaltfläche auf Seiten zu haben, die kein funktionales Optionsmenü benötigen?

+0

ich das jetzt gefunden, schlüpfte sie meine Aufmerksamkeit auf den ersten, weil ich * nicht * auf JB aber KK: http://stackoverflow.com/questions/26859841/homeasup-button-has-no-effect-in-android-4-2-2-with-appcompat-21-0-0?rq=1 –

Antwort

0

Sie können dies versuchen ..

toolbar.setNavigationOnClickListener(new OnClickListener() { 
@Override 
public void onClick(View v) { 
Intent intent =new Intent(Context,<Destination activity); 
startActivity(intent); 
} 
}); 

Hoffe, es wird Ihnen helfen ..

Verwandte Themen