Recrear / reiniciar la actividad de otra actividad

He visto esta pregunta pero no obtuve buenas respuestas y mi situación es un poco diferente. Tengo 2 actividades A y B. De Actividad Activación AI Actividad B pero la actividad A debe permanecer abierta, ahora después de iniciar sesión en Actividad BI guardar algunos datos en Preferencias compartidas y necesito el diseño en la Actividad A para cambiar según los valores de preferencias compartidas , Así que después de la actividad de la entrada A debe reconstruir para aplicar cambios pero todavía debe ser detrás de la actividad B.

Así que mi pregunta es que es posible recrear la Actividad A de la Actividad B ??

No sé qué es exactamente lo que quieres decir con "actividad A debe permanecer abierta" aunque así que tendrás que averiguar esa parte o dar una explicación más detallada. ¿Quiere decir actividad B superposiciones Actividad A? Asumiré eso.

Le sugiero que use 3 fragmentos en la Actividad A. Un fragmento para el diseño inicial y otro para el nuevo diseño. Luego otro fragmento en lugar de la Actividad B, lo llamaré FragmentB.

En FragmentB cree una interfaz interna de Callback.

 public interface Callbacks { void onLoggedIn(); } 

A continuación, haga que la actividad A implemente esta devolución de llamada

 public class ActivityA extends Activity implements FragmentB.Callbacks { //rest of the activity... @Override public void onLoggedIn() { getFragmentManager().beginTransaction() .replace(R.id.container, new SecondFragment()) .commit(); } } 

Obviamente puedes elegir cualquier nombre que quieras para ActivityA , FragmentB , Callbacks , onLOggedIn y SecondFragment . Donde SecondFragment es el nombre del fragmento que contiene el diseño después de haber iniciado sesión en FragmentB .

http://developer.android.com/reference/android/app/Activity.html#StartingActivities

En lugar de ** recrear * tu actividad, deberías usar startActivityForResult y actualizar tu actividad en onActivityResult

p.ej

  public class MyActivity extends Activity { ... static final int PICK_CONTACT_REQUEST = 0; public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) { // When the user center presses, let them pick a contact. startActivityForResult( new Intent(Intent.ACTION_PICK, new Uri("content://contacts")), PICK_CONTACT_REQUEST); return true; } return false; } protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == PICK_CONTACT_REQUEST) { if (resultCode == RESULT_OK) { // A contact was picked. Here we will just display it // to the user. startActivity(new Intent(Intent.ACTION_VIEW, data)); } } } } 

Su solución es buscar el valor de las preferencias compartidas y actualizar al diseño en OnResume () método de actividad donde como oncreate () etc .:

 @Override public void onResume(){ super.onResume(); // put your code here... to get sharedpreferences } 
  • Android: ¿FLAG_ACTIVITY_NEW_TASK tiene efecto dentro del mismo proceso?
  • Android Fragment getActivity () = nulo
  • La variable de paso de Android de Xamarin de Actividad a Fragmento devuelve null
  • Actividad flotante de Android con descartar en deslizar
  • Android: pasa el camino del archivo entre dos Actividades
  • ¿Es importante el número de actividades en la aplicación para Android?
  • Método onActivityResult no se llama Android
  • Cómo comprobar si una actividad se está ejecutando o no
  • ¿Por qué se protege onCreate () en la actividad?
  • Problema con ActionBarActivityDelegate class ... app no ​​se ejecuta
  • OnStart of new Actividad se llama antes de onStop de padre
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.