Poner boton atras en android studio

  • Autor Autor SoCu
  • Fecha de inicio Fecha de inicio
S

SoCu

Curioso
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Hola, no se si este es el sitio correcto para hacer la pregunta de Android Studio, si no es, por favor mover el post.

Estoy empezando a utilizar Android Studio y se me esta haciendo cuesta arriba, menos mal que encontré un proyecto de un menú con el que puedo empezar.

Pero me he encontrado con un problema, y es que el menú creo que se llama ActionBar, no lleva la típica flacha donde pulsar para ir atrás.

Os agradecería vuestra ayuda si me podéis decir que código y donde se tendría que poner para que muestre la fecha, y que al pulsarla vuelva hacia atrás, no al MainActivity, si no a las ventanas anteriores por las que ha ido pasando.

El proyecto del menu que estoy utilizando lo baje de aqui.
Insertar CODE, HTML o PHP:
https://android-arsenal.com/details/1/5508#!description

Gracias.
 
Última edición:
Si tu layout ya cuenta con un Widget toolbar debes Optener una referencia a este y habilitarla como Actionbar, posteriormente llamas al metodo que llama a la flecha:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar ab = getSupportActionBar();
ab.setDisplayHomeAsUpEnabled(true);

Para que la flecha haga algo debes especificar cual es la actividad padre de la actividad que implementa la flecha

<application ... >
...
<!-- The main/home activity (it has no parent activity) -->
<activity
android:name="com.example.myfirstapp.MainActivity" ...>
...
</activity>
<!-- A child of the main activity -->
<activity
android:name="com.example.myfirstapp.DisplayMessageActivity"
android:label="@string/title_activity_display_message"
android😛arentActivityName="com.example.myfirstapp.MainActivity" >
<!-- Parent activity meta-data to support 4.0 and lower -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="com.example.myfirstapp.MainActivity" />
</activity>
</application>
 
Gracias espartan1047 por tu ayuda y rápida respuesta, me tengo que marchar y entre a dejar una información del menú que estoy utilizando, voy a editar el post y dejar el enlace para que puedas ver el proyecto, ya que tengo que preguntar algunas cosas mas sobre ese menú, pero mejor poco a poco, porque hay algunas partes del proyecto que me salen con algún error, y me gustaría preguntaros luego.

espartan1047, la primera parte del codigo que has puesto, lo tengo que poner en cada una de las paginas donde quiero que aparezca el menú, no?

y la segunda parte del código va en el AndroidManifest.xml, no?


Salu2.
 
Gracias espartan1047 por tu ayuda y rápida respuesta, me tengo que marchar y entre a dejar una información del menú que estoy utilizando, voy a editar el post y dejar el enlace para que puedas ver el proyecto, ya que tengo que preguntar algunas cosas mas sobre ese menú, pero mejor poco a poco, porque hay algunas partes del proyecto que me salen con algún error, y me gustaría preguntaros luego.

espartan1047, la primera parte del codigo que has puesto, lo tengo que poner en cada una de las paginas donde quiero que aparezca el menú, no?

y la segunda parte del código va en el AndroidManifest.xml, no?


Salu2.

Si tu appTheme no tiene appbar/toolbar tienes que colocarla explicitamente en su archivo XML de cada activity donde quieras que aparezca la toolbar, si no es así, con el puro codigo java puedes colocarla.

Y si lo 2do es para el manifiesto.
 
Hola de nuevo espartan1047, estaba deseando probar lo que me dices, y parece que algo no estoy haciendo bien, al poner el codigo en el xml me muestra mensajes como este:

Unexpected text found in layout file: "Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); Action..." less... (Ctrl+F1)
Layout resource files should only contain elements and attributes. Any XML text content found in the file is likely accidental (and potentially dangerous if the text resembles XML and the developer believes the text to be functional


el codigo que tengo en el xml es este:

HTML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.darwindeveloper.Docucumentos_111.22222">

    <!-- TODO: Update blank fragment layout -->
<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></WebView>

</FrameLayout>

y en el AndroidManifest.xml, tengo esto código:

HTML:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.darwindeveloper.Docucumentos_111">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

pero me muestra unos cuantos errores que no se como solucionarlos, los errores son antes de poner el código (te pongo el enlace de la imagen para no reducirla y que el texto lo veas mejor)

http://funkyimg.com/i/2Aw5U.png


Un saludo.

- - - Actualizado - - -

Hola espartan1047 no se si me puedes responder a lo que te he comentado en el post anterior.

En cuanto a esos errores que me aparece en la imagen que te he puesto, he visto comentarios que se puede corregir activando, o bien desactivando la opción "un-inject Language/Reference", yo he probado y me sigue mostrando esos erres.

http://funkyimg.com/i/2AxoT.png

Un saludo.
 
Hola de nuevo espartan1047, estaba deseando probar lo que me dices, y parece que algo no estoy haciendo bien, al poner el codigo en el xml me muestra mensajes como este:

Unexpected text found in layout file: "Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); Action..." less... (Ctrl+F1)
Layout resource files should only contain elements and attributes. Any XML text content found in the file is likely accidental (and potentially dangerous if the text resembles XML and the developer believes the text to be functional


el codigo que tengo en el xml es este:

HTML:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.darwindeveloper.Docucumentos_111.22222">

    <!-- TODO: Update blank fragment layout -->
<WebView
    android:id="@+id/webview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"></WebView>

</FrameLayout>

y en el AndroidManifest.xml, tengo esto código:

HTML:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.darwindeveloper.Docucumentos_111">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity
            android:name=".MainActivity"
            android:label="@string/app_name">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

pero me muestra unos cuantos errores que no se como solucionarlos, los errores son antes de poner el código (te pongo el enlace de la imagen para no reducirla y que el texto lo veas mejor)

http://funkyimg.com/i/2Aw5U.png


Un saludo.

- - - Actualizado - - -

Hola espartan1047 no se si me puedes responder a lo que te he comentado en el post anterior.

En cuanto a esos errores que me aparece en la imagen que te he puesto, he visto comentarios que se puede corregir activando, o bien desactivando la opción "un-inject Language/Reference", yo he probado y me sigue mostrando esos erres.

http://funkyimg.com/i/2AxoT.png

Un saludo.

Veo que andas un poco perdido, te dejo la documentación oficial, el ejemplo es muy simple, de hecho cuando yo no sabia hacerlo me basé plenamente de este:

Providing Up Navigation | Android Developers
 
Gracias espartan1047, la verdad es que no estoy un poco perdido, yo diria que mucho un mucho 😕

Voy a ver la pagina que me dices, que veo que esta en ingles, a ver si se porta bien el el traductor.


Salu2.
 
Hola, y antes de nada Feliz Navidad.

Llevo toda la mañana intentándolo y no doy con la tecla, no se donde poner el código, he estado probando codigos de paginas web como el que ponen aqui:
Mostrar flecha hacia atrás en la barra de herramientas Android Flip Android

y videotutoriales que parece que es fácil, y con tres lineas de código como estos:
Curso Android Studio - ActionBar Ir Atrás - YouTube
Android: ActionBar y flecha de retorno - YouTube

pero a pesar de ser dos lineas de codgo, luego marcan errores por todos lados porque falta codigo.

He probado con la pagina que dices, donte tambien hay un enlace para descargar el codigo, lo he bajado y creado una aplicacion con ese codigo, y funciona, pero no lo llego a comprender muy bien.

hay alguna forma de ver en el Android Studio los pasos por donde va pasando el emulador, para que cuando pulse el boton de atras pueda ver que codigo se esta ejecutando, y asi pasarlo al proyecto que estoy creando ?


Salu2.
 
Última edición:
Chuletas es un fragment, no una activity, nunca podrás añadir la toolbar desde ese fragment de una forma simple (como debe ser).

Tienes Skype? Estoy haciendo una app y estoy haciendo unas activity que apenas tienen solo la Toolbar con la flecha, si si, mandamelo por MP y hablamos en este momento.
 
Atrás
Arriba