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
  • Efecto de ruido en el fondo de Android
  • Android cómo ver la cadena larga en logcat
  • Java.lang.NullPointerException: Intento de obtener longitud de matriz nula
  • android / java - buscando una eficiente cola cíclica simultánea
  • MainActivity.this no es una clase inclusiva AsyncTask
  • Android Keystore Error "no pudo generar clave en keystore"
  • ¿Cómo puedo reducir el relleno interno alrededor del texto dentro de un objeto de botón de Android?
  • Android: efecto saltar de la barra de estado
  • Reducción inicial de zoom de Webview de Android
  • Android AVD Manager: No se puede crear una nueva definición de dispositivo (java.lang.NullPointerException)
  • ArrayIndexOutOfBoundsException cuando se utiliza ListAdapter
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.