A partir do ANDROID 4.1 (API nível 16), é possível declarar o “pai” de uma Activity da seguinte forma:
Adicionando android:parentActivityName
na tag <activity>, no arquivo AndroidManifest.xml.
Para aplicativos que suportam Android 4.0 ou inferior, e incluem a Biblioteca de suporte, é preciso adicionar a tag <meta-data> dentro da tag <activity> . Em seguida, é preciso especificar a Activity “pai” como o valor de android.support.PARENT_ACTIVITY , combinando com o atributo android:parentActivityName.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
< application ... > ... <!-- The main/home activity (it has no parent activity) --> < activity android:name = "com.example.myapp.MainActivity" ...> ... </ activity > <!-- A child of the main activity --> < activity android:name = "com.example.myapp.DisplayMessageActivity" android:label = "@string/title_activity_display_message" android:parentActivityName = "com.example.myapp.MainActivity" > <!-- Parent activity meta-data to support 4.0 and lower --> < meta-data android:name = "android.support.PARENT_ACTIVITY" android:value = "com.example.myapp.MainActivity" /> </ activity > </ application > |
Agora adicione o botão de ação na ActionBar (a seta):
1
2
3
4
5
|
@Override public void onCreate(Bundle savedInstanceState) { ... getActionBar().setDisplayHomeAsUpEnabled( true ); } |
A ação de clique será tratada no método onOptionsItemSelected:
1
2
3
4
5
6
7
8
9
10
|
@Override public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { // Id correspondente ao botão Up/Home da actionbar case android.R.id.home: NavUtils.navigateUpFromSameTask( this ); return true ; } return super .onOptionsItemSelected(item); } |
Fonte: http://helpdev.com.br/2014/03/25/android-implementando-corretamente-o-botao-voltar-na-actionbar-providing-up-navigation/