Hola @Xuelo.
Nunca eh implementado lo que dices, pero te presento una alternativa, en caso no puedas solucionar tu problema podrías usar mi solución.
Mi alternativa es que crees tu mismo un actionBar y lo uses en la activity que necesites. Es muy fácil y además tienes el control sobre el botón atrás sin fallar en el intento. Te voy a proveer los recursos.
ActionBar_custom.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#212121">
<ImageButton
android:id="@+id/buttonActionBarPresentationBack"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:background="@null"
android:scaleType="centerInside"
android:src="@drawable/abc_ic_ab_back_mtrl_am_alpha"
android:paddingRight="50dp"
android:onClick="toggleMenu"
android:paddingTop="4dp"
android:layout_marginRight="50dp" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="Artículo"
android:textSize="20sp"
android:textStyle="bold"
android:textColor="#ffffff"
android:id="@+id/tituloArticulo"
android:layout_marginLeft="80dp" >
</RelativeLayout>
Esto se ve así:
Bien, en el onCreate de la activity pones esto:
getSupportActionBar().setDisplayShowHomeEnabled(false);
//ActionBar personalizado para los botones
View mActionBarView = getLayoutInflater().inflate(R.layout.ActionBar_custom, null);
getSupportActionBar().setCustomView(mActionBarView);
getSupportActionBar().setDisplayOptions(getSupportActionBar().DISPLAY_SHOW_CUSTOM);
bar_actionBar_button(); // este método es para controlar el botón "Atrás"
public void bar_actionBar_button() {
buttonActionBarBack = (ImageButton) findViewById(R.id.buttonActionBarPresentationBack);
buttonActionBarBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//Aquí colocas lo del putExtra y todo eso para pasar los datos a la activty.
finish();//Para cerrar la activity al clickear sobre el botón
}
});
}
Usándolo en una activity esto se ve así:
Como te puedes dar cuenta, de esta manera ya puedes implementar lo de los putExtra directamente en el botón "Arrow Back", es decir, el botón de atrás directamente en el evento:
buttonActionBarBack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
//Aquí colocas lo del putExtra y todo eso para pasar los datos a la activty.
finish();//Para cerrar la activity al clickear sobre el botón
}
});
}
Espero me hayas entendido y te sea de ayuda en caso de que no encuentres una solución a como la pides.
Saludos.