studio fragments event disable activity android button back

fragments - on back pressed android fragment



onBackPressed() no funciona (5)

Intento cerrar mi aplicación con un clic en el botón Atrás. Desde la pantalla principal, el botón Atrás lo lleva a una pantalla de créditos. Desde esa pantalla de créditos, quiero cerrar la aplicación con el botón Atrás. Lamentablemente, el método onBackPressed () que estoy llamando no parece ejecutarse en absoluto. No estoy seguro de cómo proceder.

package app.jonward.boss; import android.app.Activity; public class Credits extends Activity{ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.credits); //Doing stuff } @Override public void onBackPressed() { finish(); return; } }


No lo entiendo Lo que onBackPressed() hace es llamar a finish() . finish() es un método de Activity , no hay forma de "cerrar" tu aplicación, por así decirlo. Quizás lo que realmente quieres es llamar a finish() en la Actividad que está comenzando la actividad de Credits . Dentro de la otra actividad:

finish(); startActivity(this, Credits.class);


Prueba la siguiente solución?

@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_BACK) { finish(); return true; } return super.onKeyDown(keyCode, event); }


Lo siento, todavía no puedo comentar (quería que esto fuera un comentario sobre la respuesta de Muffinbubble) ..

Intenta poner onKeyDown en tu mainclass y valide si se llama a este incluso si estás en tu segunda actividad. A continuación, puede verificar dónde se encuentra a través de la clase principal y salir de la aplicación si es necesario y, de lo contrario, devolver super.onKeyDown (..).


No sé si ya has encontrado una respuesta, pero ¿has probado super.onBackPressed desde tu método principal?

Si yo fuera tú, lo intentaría:

@Override public void onBackPressed() { super.onBackPressed(); finish(); }


Recientemente, me encontré con este problema y pude resolverlo borrando todas las carpetas en el directorio de build .

No sé cómo, pero parece que Android Studio cometió un error al generar la compilación y eso condujo a este problema. Entonces, después de eliminar el directorio de build , se onBackpressed() mi método onBackpressed() .