Actualizar actividad en Android
¿Es una buena práctica volver a cargar una Activity
en Android ?
¿Cuál sería la mejor manera de hacerlo? this.finish
y luego this.startActivity
con la actividad Intent
?
- Reanudar mi solicitud de la misma manera que se reanudó de la historia
- Cómo utilizar BaseGameActivity.getApiClient () en varias actividades?
- Ejemplo: Comunicación entre actividad y servicio mediante mensajería
- Android: No se puede obtener la transición de elementos compartidos para trabajar con Google Maps Fragment
- El brillo de una imagen sigue aumentando incluso al mover la barra de desplazamiento de Seekbar a la izquierda
- Inicio dinámico de la actividad con DexClassLoader
- Android - A veces comienza una actividad incorrecta
- Cómo proporcionar y manejar enlaces profundos en aplicaciones de cordova / phonegap
- NullPointerException en findViewById () en android
- ¿Cuándo el fragmento está finalmente conectado a la actividad?
- ¿Cuál es la diferencia entre la llamada de actividad explícita e implícita en android?
- ¿Cómo probar el código construido para salvar / restaurar el ciclo de vida de una actividad?
- "Minimizar" una actividad en Android (no finalizarla)
Simplemente puede usar
finish(); startActivity(getIntent());
Para refrescar una Activity
desde dentro de sí mismo.
Esto es lo que hago para relad la actividad después de cambiar de regresar de un cambio de preferencia.
@Override protected void onResume() { super.onResume(); this.onCreate(null); }
Esto esencialmente hace que la actividad se vuelva a dibujar.
Actualizado: Una mejor manera de hacerlo es llamar al método recreate (). Esto hará que la actividad sea recreada.
Necesitaba actualizar una lista de mensajes en una de mis aplicaciones con prisa, así que acabo de realizar una actualización de mi actividad principal de la interfaz de usuario antes de cerrar el diálogo en el que estaba. Estoy seguro de que hay mejores maneras de lograr esto también.
// Refresh main activity upon close of dialog box Intent refresh = new Intent(this, clsMainUIActivity.class); startActivity(refresh); this.finish(); //
Android incluye un sistema de gestión de procesos que gestiona la creación y destrucción de actividades que anula en gran medida cualquier beneficio que vería al reiniciar manualmente una actividad. Puede ver más información al respecto en Application Fundamentals
Lo que es una buena práctica es asegurarse de que sus métodos onPause y onStop liberen cualquier recurso que no necesite sostener y usar onLowMemory para reducir sus necesidades de actividades al mínimo absoluto.
Para aquellos que no quieren ver que parpadean después de recrear () método simplemente utilizar
finish(); overridePendingTransition(0, 0); startActivity(getIntent()); overridePendingTransition(0, 0);
Comience con una intención de su misma activity
y cierre la activity
.
Intent refresh = new Intent(this, Main.class); startActivity(refresh);//Start the same Activity finish(); //finish Activity.
En algunos casos es la mejor práctica en otros no es una buena idea que es contexto impulsado si usted eligió hacer así que usar el falowing es la mejor manera de pasar de una actividad a sus hijos:
Intent i = new Intent(myCurrentActivityName.this,activityIWishToRun.class); startActivityForResult(i, GlobalDataStore.STATIC_INTEGER_VALUE);
La cosa es cuando terminas () de activityIWishToRun vuelves a tu actividad de vida
Tengo el mismo problema
import android.support.v4.content.IntentCompat; intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);
Este código funciona para mí. Api de Android 17
No creo que sea una buena idea … sería mejor implementar un método más limpio. Por ejemplo, si su actividad contiene un formulario, el método de limpieza podría simplemente borrar cada widget en el formulario y eliminar todos los datos temporales. Supongo que eso es lo que quieres: restaura la actividad a su estado inicial.
Después de experimentar con esto por un tiempo no he encontrado consecuencias inesperadas de reiniciar una actividad. Además, creo que esto es muy similar a lo que Android hace por defecto cuando la orientación cambia, por lo que no veo una razón para no hacerlo en una circunstancia similar.
Tuve otro enfoque como: establecer el launchMode
de mi actividad a singleTop
y sin llamar a finish()
, sólo startActivity(getIntent())
hará el trabajo. Sólo tiene que preocuparse por los nuevos datos tanto en onCreate()
y onNewIntent
. Con Sush manera, la aplicación puede parpadear como AMAN SINGH dijo. Pero el enfoque de AMAN SINGH seguirá creando una nueva actividad que de alguna manera es innecesaria, incluso si arregló el problema de "parpadeo", creo.
Demasiado tarde para esta pregunta, pero si alguien está buscando una solución, aquí está.
- Facebook Android genera hachas clave
- ¿Cómo puedo "reiniciar" una aplicación de Android mediante programación?