Actividad Recargar cada vez

Tengo una actividad con un ListView (ItemsActivity) que su contenido viene de una API de JSON. Cuando presiono un elemento en el ListView carga otra actividad con la información de detalles (DetailActivity). El problema es, cuando presiono el botón Atrás, ItemsActivity volver a cargar el ListView de nuevo.

No sé dónde puedo encontrar más información al respecto. Vine de iOS donde la pantalla anterior no es recargar cada vez.

Quiero mantener los datos ListView entre actividades. He probado para llamar a loadListItems () método de onResume (), pero el mismo resultado.

Aquí hay una breve muestra de mi código. Cualquier ayuda y sugerencias serán muy apreciadas.

/* ItemsActivity.java */ public class ItemsActivity extends AppCompatActivity { private ListView listItemView; private Movie[] movies; private ProgressBar progressBar; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycler); listItemView = (ListView) findViewById(R.id.listItemView); progressBar = (ProgressBar) findViewById(R.id.progressBar); loadListItems(); } private void loadListItems(){ // Http call ... // Iterate JSON and saving to movies array ... progressBar.setVisibility(INVISIBLE); ListAdapter adapter = new ListAdapter(ItemsActivity.this, movies); listItemView.setAdapter(adapter); } /* Adapter Class */ @Override public void onClick(View v) { Intent i = new Intent(this, DetailActivity.class); i.putExtra("item_id", 1); startActivity(i); } } 

Acabo de probar con un nuevo proyecto con 2 Actividades, ActivityOne y ActivityTwo. ActivityOne tiene un botón, cuando a presionado su carga ActivityTwo y cuando presiono el botón Atrás, en ActivityOne el método onCreate () se llama de nuevo.

3 Solutions collect form web for “Actividad Recargar cada vez”

Usted mencionó que "probé llamar al método loadListItems () de onResume () pero el mismo resultado". Este código onResume () es culpable.

OnResume () se llamará cada vez que su actividad se vuelve a enfocar. Si llama a loadListItems () en onResume (), se llamará cada vez que regrese de su segunda actividad a esta actividad. http://developer.android.com/reference/android/app/Activity.html#onResume ()

Una solución es usar StartActivityForResult y no StartActivity. A continuación, en la segunda actividad, anule el método onBackPressed y termine () la segunda actividad dentro de este método. Anule el método onActivityResult en su primera actividad y se llamará a esta actividad y no al método onCreate y no se volverá a cargar el ListView.

El problema era solamente cuando presioné el botón trasero de la barra de acción y lo arreglo con el método de onOptionsItemSelected.

 @Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { onBackPressed(); return true; } return super.onOptionsItemSelected(item); } 
  • ViewPager con un fragmento ListView - El niño especificado ya tiene un padre
  • Hacer toda la línea en un ListView clicable?
  • Agregar un fragmento como encabezado ListView
  • Cómo establecer la altura del elemento ListView
  • Ormlite, listViews y adaptadores?
  • Detectar si TextView en ListView está ellipsizado
  • Android desplácese hacia arriba ocultar vista y desplácese hacia abajo mostrar el efecto de vista como twitter
  • Cómo agregar márgenes por encima y por debajo de un ListView en Android?
  • ¿Cómo actualizar la lista de adaptadores personalizados al instante en Android?
  • ListView es muy lento - android
  • setChoiceMode (ListView.CHOICE_MODE_SINGLE) ¿Cómo cancelar la selección?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.