2014-10-29 16 views
9

Ciao Ho creato un'attività che estende ActionBarActivity & utilizzando il tema materiale nella mia applicazione. Nella barra delle azioni, il pulsante Indietro non viene visualizzato.Il pulsante Indietro della barra delle azioni non viene visualizzato in Android

Non ho trovato il motivo per cui non viene visualizzato. Qualsiasi aiuto ?

public class RegistrationActivity extends ActionBarActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_registration); 

     getSupportActionBar().setBackgroundDrawable(getResources().getDrawable(R.drawable.ab_background_light)); 
     getSupportActionBar().setDisplayShowHomeEnabled(true); 
     getSupportActionBar().setHomeButtonEnabled(true); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

style.xml

<style name="AppTheme" parent="Theme.AppCompat.Light"> 
    <!--Support Library compatibility--> 
    <item name="actionBarStyle">@style/MyTheme.ActionBarStyle</item> 
</style> 

<!-- ActionBar styles --> 
<style name="MyTheme.ActionBarStyle" parent="@style/Widget.AppCompat.Light.ActionBar"> 
    <!--Support Library compatibility--> 
    <item name="titleTextStyle">@style/MyTheme.ActionBar.TitleTextStyle</item> 
</style> 

<style name="MyTheme.ActionBar.TitleTextStyle" parent="@style/TextAppearance.AppCompat.Widget.ActionBar.Title"> 
    <item name="android:textColor">@android:color/white</item> 
</style> 

AndroidManifest.xml

<activity 
     android:name=".RegistrationActivity" 
     android:label="@string/title_activity_registration" > 
     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value=".HomeScreenActivity" /> 
    </activity> 

Grazie in anticipo.

+1

Utilizzare 'Theme.AppCompat.Light.DarkActionBar' se si desidera che le icone/testo vengano visualizzate in bianco nella barra delle azioni. – ianhanniballake

+0

@ianhanniballake sì, grazie :) –

risposta

26

aggiungere la proprietà

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

per mostrare il tasto "back"

+0

Questo è stato già fatto, come si può vedere dalla domanda. –

2

Se la soluzione del Jorgesys non ha funzionato per voi. Prova a ignorare il metodo onOptionsItemSelected.

public class MyActivity extends AppCompatActivity 
{ 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.my_activity); 
     getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
    } 

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