Estoy construyendo una aplicación de alarma. Actualmente tengo un ListActivity que mostrar la lista de alarmas y otra actividad que cambia el tiempo de un tipo particular de alarma. Mi problema es que cuando me decido a entrar en la actividad para cambiar la hora de una alarma y, a continuación, pulse el botón atrás, no se actualice. Sin embargo, he implementado un botón que redirige de nuevo a la ListActivity y si me presiona, la lista de alarmas se actualizan. ¿Cómo puedo yo, después de pulsar el botón atrás, actualizar la lista de alarmas?

  • onRestart() es mejor que este! onResume() realiza el procedimiento dos veces, y onRestart() se llama cuando usted presione el botón de atrás, y el procedimiento se realiza sólo una vez.
InformationsquelleAutor Johnathan Au | 2013-04-23

4 Comentarios

  1. 8

    Probablemente debería anular su onResume() para comprobar si la lista de alarmas se han actualizado de manera que siempre que vienes a/volver a su ListActivity, va a ser actualizado.

  2. 7

    En su lista de alarmas actividad

    uso

    public void onRestart() {
        //reload your list items if changed and adapter.notifydatastatechange();
    }

    Si usted hace esto en onResume, a continuación, su llamada dos veces primero, cuando su inicio de actividad n 2nd cuando su actividad se reinicie.

    • Esta respuesta es correcta!!! OnRestart() funciona mejor que OnResume() para esto!
    • He probado usando onResume() y cuando la Actividad es creada, se llama a la función (y no es necesario). Pero el uso de onRestart() es llamado sólo en el caso de la Actividad denominada por botón atrás (y es lo que queremos). Así que el uso de onRestart() es mucho mejor que este!
  3. 2

    aquí está el código.

    @Override
        public boolean onKeyDown(int keyCode, KeyEvent event) {
            if (keyCode == KeyEvent.KEYCODE_BACK) {
                Intent a = new Intent(this,yourback.class);
                a.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
                startActivity(a);
                return true;
            }
            return super.onKeyDown(keyCode, event);
        }

    siempre lo uso cuando es listview.

  4. 0

    Estoy utilizando la siguiente.

    Intent intent = new Intent(CurrentActivity.this, PreviousActivity.class);
            intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
            startActivity(intent);
            CurrentActivity.this.finish();

Dejar respuesta

Please enter your comment!
Please enter your name here