Aktionsleiste onClick listener für die Home-Taste

Wie kann ich einen benutzerdefinierten onClickListener für die Home-Schaltfläche der Aktionsleiste implementieren?

Ich habe bereits eine getSupportActionBar().setDisplayHomeAsUpEnabled(true); Und jetzt möchte ich den Benutzer zu einer bestimmten Aktivität umleiten, falls die Home-Taste angeklickt wird.

  • Hinzufügen von ActonBarSherlock in Android Studio
  • Ist Actionbarsherlock mehr nötig?
  • Java.lang.RuntimeException Theme.Sherlock
  • ActionBarSherlock Item Icon seltsame Breite mit Android 4.3
  • Dynamisches Zeichnungssymbol für ActionBar Menüpunkt? (Android, ActionBarSherlock)
  • ShareActionProvider aktualisieren Text
  • Ich habe versucht mit:

     @Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: item.setOnMenuItemClickListener(new OnMenuItemClickListener() { public boolean onMenuItemClick(MenuItem item) { Intent i = new Intent(); i.setClass(BestemmingActivity.this, StartActivity.class); i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(i); return true; } }); default: return super.onOptionsItemSelected(item); } } 

    Aber es kommt niemals in den onMenuItemClick .

    Grundsätzlich ist es genau so wie in diesem Link, aber immer noch geht es nicht in den Zuhörer.

  • Live Streaming von Android App auf Youtube
  • Implementieren der Google Play Application Silent Installationsfunktion auf Android
  • Android-Cursor, wie man Nullwerte aus Spalten erhält
  • Kann ich JPG-Bild statt PNG-Bild als Hintergrund verwenden?
  • Android: Das Kontaktbuch des Benutzers erweitern. Performance ContentProvider vs Sqlite vs Liste im Speicher
  • Android KeyStore Privatexponent kann nicht extrahiert werden
  • 8 Solutions collect form web for “Aktionsleiste onClick listener für die Home-Taste”

    Ich benutze die actionBarSherlock , nachdem wir supportActionBar.setHomeButtonEnabled supportActionBar.setHomeButtonEnabled(true);
    Wir können die Methode onMenuItemSelected überschreiben:

     @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case android.R.id.home: toggle(); // Toast.makeText(this, "home pressed", Toast.LENGTH_LONG).show(); break; } return true; } 

    Ich hoffe, diese Arbeit für Sie ~~~ viel Glück

    Wenn jemand die Lösung braucht

     @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { onBackPressed(); return true; } return super.onOptionsItemSelected(item); } 

    Wenn wir das System verwenden, das die Aktionsleiste nach dem Code verwendet, funktioniert gut

     getActionBar().setHomeButtonEnabled(true); @Override public boolean onMenuItemSelected(int featureId, MenuItem item) { int itemId = item.getItemId(); switch (itemId) { case android.R.id.home: //do your action here. break; } return true; } 

    Fixed: keine Notwendigkeit, einen setOnMenuItemClickListener . Wenn man einfach den Knopf drückt, schafft und startet er die Aktivität durch die Absicht.

    Vielen Dank für Ihre Hilfe!

    Sie müssen die Heimtätigkeit explizit aktivieren, wenn Sie auf ICS laufen. Aus den docs :

    Hinweis: Wenn Sie das Symbol verwenden, um zu der Heimataktivität zu navigieren, achten Sie darauf, dass Sie mit Android 4.0 (API Level 14) explizit das Symbol als Aktionselement aktivieren müssen, indem Sie setHomeButtonEnabled (true) (in früheren Versionen, Das Symbol wurde standardmäßig als Aktionselement aktiviert).

    Beste Weg, um Action Bar anClickListener anzupassen ist onSupportNavigateUp ()

    Dieser Code wird hilfreich sein , um Code zu helfen

    Antworten in der Hälfte von dem, was geschieht. Wenn onOptionsItemSelected nicht die homeAsUp Schaltfläche kontrolliert, wenn die übergeordnete Aktivität im manifest.xml-System gesetzt wird, geht es zur übergeordneten Aktivität. Benutze folgendes im Aktivitäts-Tag:

     <activity ... > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value="com.activities.MainActivity" /> </activity> 

    Solltest du dein Override onOptionsItemSelected löschen und dein onCreateOptionsMenu mit diesem Code replizieren

     @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_action_bar_finish_order_stop, menu); menu.getItem(0).setOnMenuItemClickListener(new FinishOrderStopListener(this, getApplication(), selectedChild)); return true; } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.