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.
- Cómo borrar las vistas que se celebran en el ListView de RecycleBin?
- Androide. ¿Cómo funciona el método notifyDataSetChanged () y ListViews?
- Menú contextual de un ListFragment
- ListView personalizado de una sola opción
- Comprensión de Android ListView
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.
- Listview con Checkbox, RadioButton, Textview y el botón no funciona correctamente en android
- ListView vacío a pesar de los elementos agregados al adaptador en algún momento al reanudar la aplicación
- Error: ArrayAdapter requiere que el ID de recurso sea un TextView
- Cómo obtener id de la base de datos al hacer clic en el elemento listview en android
- Crear listview con separadores alfabéticos android - cómo?
- Cómo obtener el tamaño de una vista de lista
- Android Twitter - Hacer clic en la pestaña Actualizar y ocultar
- Cerrado o circular Horizontal ListView Android
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); }
- ¿Cómo puedo iniciar sesión con facebook y obtener información de usuario para enviar mi db remoto desde la aplicación android
- Notificaciones de la API REST de Google Drive no funcionan para cambios en la carpeta de aplicaciones