Na minha aplicação Android crio uma ActionBar utilizando Toolbar, em todas minhas Activity utilizo este método para inserir a ActionBar:
protected void setUpToolbar() {
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
if(toolbar != null){
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
e no Layout XML tenho isso:
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
Acontece que eu faço isso:
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
para inserir o botão voltar na ActionBar. O botão aparece normal, mas ele não funciona, quando pressiono ele, ele não volta para a Activity anterior.
Spotik
Dezembro 28, 2015, 9:02pm
#2
Já tentou usar esses dois?
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);
Spotik, fiz desta maneira mas continua do mesmo jeito, o botão aparece mas não volta para a Activity anterior.
Spotik
Dezembro 28, 2015, 9:14pm
#4
Vai no manifest e coloca isso dentro da tag dessa segunda activity
android:parentActivityName="com.example.myfirstapp.activityanterior"
Se vc não definir qual a activity pai, o botão não funciona mesmo =)
2 curtidas
Spotik, agora deu certo, mas está acontecendo uma coisa estranha, quando volto pelo botão voltar do aparelho Android não passa no método onCreate() da primeira Activity.
Mas quando volto pelo botão voltar da ActionBar está passando no onCreate() da primeira Activity.
Spotik
Dezembro 28, 2015, 9:31pm
#6
Hmmm, não to conseguindo pensar sobre isso agora, mas, o que você pode fazer pra ter o mesmo efeito do botão voltar é:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
Spotik
Dezembro 30, 2015, 8:01pm
#7
Oi cara, hoje mais tranquilo lembrei disso aqui e lembrei o que faltou no manifest pra não ficar rechamando o oncreate:
Dentro da activity A insira tbm essa linhda de código e tudo estará resolvido
android:launchMode="singleTop"
2 curtidas
A vontade era te dar um bjo… kkkkkk
apanhando a vários dias desse botão, porém coloquei a opção “singleInstance” no lugar de “singleTop” para funcionar.