2012-04-13 6 views
0

Ich habe eine App, die eine ActionBar (eigentlich ActionBarSherlock) verwendet, die zwei Fragmente enthält, ein Listing und ein Details Fragment. Wenn sich das Gerät im Hochformat befindet und der Benutzer aus der Listenansicht auf die Detailansicht klickt, setze ich in der Detailansicht setHomeButtonEnabled, sodass der Benutzer auf das App-Symbol klicken kann, um zur Liste zurückzukehren (und der Zurück-Pfeil wird angezeigt) automatisch).App Icon zurück Pfeil zeigt im Querformat und im Hochformat

Wenn das Gerät im Querformat ist, und beiden Fragmente werden auf dem Bildschirm angezeigt, ich sehe immer noch den Zurück-Pfeil neben das App-Symbol, das keinen Sinn macht, denn es gibt nichts zu gehen zurück.

Nicht sicher, ob ich etwas im Code ausführen muss, damit der Zurück-Pfeil nicht im Querformat angezeigt wird.

Antwort

0

Nun, ich war in der Lage, die gewünschten Ergebnisse zu erhalten, indem ich diesen Code zu den Detailfragmenten hinzufügte. Wahrscheinlich nicht ideal, aber es funktioniert:

@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 

    setHasOptionsMenu(true); 

    if (getResources().getConfiguration().orientation != Configuration.ORIENTATION_LANDSCAPE) 
     this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

    setRetainInstance(true); 
} 

Update:

Gefunden dies ist wahrscheinlich eine bessere Lösung. Es erkennt, ob das "Details" -Fragment sichtbar ist oder nicht:

final DetailsFragment fragment = (DetailsFragment)getFragmentManager().findFragmentById(R.id.fragmentDetails); 

if (fragment == null || fragment.isInLayout() == false) 
    this.getSherlockActivity().getSupportActionBar().setDisplayHomeAsUpEnabled(true);