Android: Implementación de un botón Atrás de una clase
Bueno, aquí está mi problema. Estoy trabajando en una aplicación para Android y aprender Android, al mismo tiempo, así que la mayoría de las veces me sale errores. Normaly puedo arreglarlos después de investigar un poco, pero me estoy quedando atascado en este punto.
Estoy tratando de hacer un botón de nuevo para cada actividad en mi aplicación, así que pensé en hacer una clase "BackButton", por lo que puedo instanciar cada vez que quiera. Aquí está mi código de BackButton:
- Ruta de intersección en android
- UnsatisfiedLinkError: No se pudo cargar X desde el cargador
- Cómo programar una tarea en android
- Tcp conexión otro dispositivo android, basado en # teléfono en lugar de IP?
- Evitar que la actividad sea destruida
import android.content.Intent; import android.view.View; import android.widget.Button; import android.app.Activity; public class BackButton extends Activity implements View.OnClickListener{ public static Button BackButton; // Defining the button public BackButton() { BackButton = (Button) findViewById(R.id.bBack); BackButton.setOnClickListener(this); } //To get the Button public static Button getBackButton() { return BackButton; } // OnClickListener public void onClick(View v) { try { Class MainActivityClass = Class.forName("eu.lafarga.treballderecerca.MainActivity"); Intent MainActivityIntent = new Intent(BackButton.this, MainActivityClass); startActivity(MainActivityIntent); } catch (ClassNotFoundException e) { e.printStackTrace(); }finally { // Save the things we've done. } } }
Entonces, ¿cómo debo implementar esto en cualquier actividad? Estoy doind algo mal? (Claro que soy lol)
- Cambiar el idioma de las cadenas en la actividad de Android
- Actividad con pestañas de Android Abajo de la pantalla
- GetGSMSignalStrength () devuelve siempre 99
- No se encontró ninguna implementación para Native UnsatisfiedLinkError Exception Android JNI
- Android: copia los recursos en el almacenamiento interno
- Cómo jugar notas individuales de archivo midi en LibGDX?
- FIleNotFound abierto falló: EACCES (Permiso denegado)
- Desplazamiento de ListViews juntos
Personalmente, yo sugeriría no hacer esto. Creo que sobreponiendo el botón de retroceso en cada Activity
sería más seguro, más flexible y tan fácil, si no más fácil. Lo más probable es que no siempre va a querer volver a MainActivity
medida que crece la aplicación, ya que es probable que esta no sea la acción esperada para los usuarios al pulsar el botón Atrás. Anule el botón Atrás en Activities
que lo necesiten y ejecute su código
@Overrride public void onBackPressed(View v) { // save data first Intent MainActivityIntent = new Intent(CurrentActivityName.this, MainActivityClass); startActivity(MainActivityIntent); super.onBackPressed(); }
También puede utilizar indicadores como FLAG_ACTIVITY_CLEAR_TOP
si desea eliminar todas las Activities
entre la actual y la Activity
objetivo (aquí MainActivity
) llamando a setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
Hay una manera más fácil de escuchar el backButton.
// Called when the activity has detected the user's press of the back key. onBackPressed()
Y cuando no llame al super-método, no debería haber más pasos. Pero no es una buena manera de "desactivar" el botón de retroceso.
http://developer.android.com/reference/android/app/Activity.html
Hay varias maneras de bloquear el botón Atrás.
onBackPressed
onKeyDown
o onBackPressed
de su Activity
.
Visite el siguiente enlace de la pregunta para obtener una descripción detallada y su solución dada en respuesta.
Enlace 1
Enlace 2
- Error: constructor de intenciones indefinidas al iniciar el servicio en android
- android: consola de desarrolladores google cambio de versión de apk