Botón Atrás en ActionBar en MainActivity

He implementado un Back-Button para todas las actividades, excepto MainActivity . Mi problema es que tengo un Back-Button en ese MainActivity también.

Espero que haya importado la clase correcta:

  import android.support.v4.app.NavUtils; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getActionBar().setDisplayHomeAsUpEnabled(true); [...] } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; case R.id.ueber: startActivity(new Intent(this, menu_main_Activity.class)); return true; } return super.onOptionsItemSelected(item); } 

AndroidManifest:

 <application android:allowBackup="true" android:icon="@mipmap/levox" android:label="@string/app_name" android:theme="@style/AppTheme"> <activity android:name=".ListViewActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".ListTasksActivity" android:label="@string/projekte" android:parentActivityName=".ListViewActivity"> </activity> <activity android:name=".ListSingleTaskActivity" android:label="@string/tasks" android:parentActivityName=".ListTasksActivity"> </activity> <activity android:name=".menu_main_Activity"/> </application> 

¿Por qué obtengo un Back-Button en MainActivity también?

La primera pregunta es: ¿Qué quieres decir con "Back-Button"?

  • ¿Quieres decir el botón que está en cada dispositivo Android en la parte inferior izquierda? No puedes inhabilitarlo. Pero se llama " Back-Button " en el universo Android en realidad. A veces es incluso parte del hardware!
  • ¿Te refieres al botón que se muestra mediante una pequeña flecha dirigida hacia la izquierda, justo al lado del ícono de aplicación en la parte superior izquierda de tu aplicación? Ese botón se llama " Up-Button " en el universo de Android. Esta se muestra en su MainActivity debido a esta línea en su código:

     getActionBar().setDisplayHomeAsUpEnabled(true); 

    En el método

     protected void onCreate(Bundle savedInstanceState) 

    Así que debes quitarte esta línea. Para desactivar no sólo la apariencia del botón, sino también su funcionalidad , hay que echar un vistazo a esta parte del código:

      switch (item.getItemId()) { case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; case R.id.ueber: startActivity(new Intent(this, menu_main_Activity.class)); return true; } 

    Aquí, tienes que quitar la parte

     case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; 

EDIT: Pero si realmente desea que el "Up-Button" sea visible dentro de una Actividad,

  • Tiene que establecer el código

     getActionBar().setDisplayHomeAsUpEnabled(true); 

    En el método onCreate () – de esa Actividad!

  • Proporcione una actividad-padre en su Manifest.xml (lo que está haciendo ya), por ejemplo:

     android:parentActivityName=".ListViewActivity" 
  • Y poner la parte

     case android.R.id.home: NavUtils.navigateUpFromSameTask(this); return true; 

    En la Actividad que tendrá el "Up-Button".

Si quiere decir algo más, por favor especifique su pregunta y proporcione más código 🙂

Algunos enlaces útiles:

  • Para obtener más información acerca de cómo implementar el "Botón ascendente", lea Proporcionar navegación ascendente
  • Para obtener más información acerca de las diferencias entre "Arriba" y "Atrás" en Android, lea Navegación con la parte posterior y superior
  • Los fragmentos de Android deben estar estáticos
  • Error al generar el archivo final: el certificado de depuración expiró el
  • Cómo convertir TextView en ImageView en android
  • ¿Cómo se calcula el tiempo del rezo musulmán en una aplicación androide?
  • Alternativa para String.join en Android?
  • Excepción de interrupción de subproceso en modo Multi-ventana
  • Android stackoverflow utilizando while loop
  • Android Wear modificar el botón "Abrir en el teléfono"
  • La generación de grados falla para la excepción de host desconocido
  • Teclado con scrollView
  • Autenticación con la API de Google mediante AccountManager
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.