How can I refresh a previous activity after the ba

2019-04-12 00:08发布

问题:

I am building an alarm application. I currently have a ListActivity which display the list of alarms and another activity which changes the time of a particular alarm. My problem is, when I decide to enter into the activity to change the time of an alarm and then I press the back button, it does not refresh. However, I've implemented a button that redirects back to the ListActivity and if I press it, the list of alarms are refreshed. How can I, after pressing the back button, refresh the list of alarms?

回答1:

You should probably override your onResume() to check if the list of alarms have been refreshed so that whenever you come to/come back to your ListActivity, it'll get updated.



回答2:

In your alarm list activity

use

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

If you done this in onResume then its call two times first when your activity start n 2nd when your activity restart.



回答3:

here is the code.

@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);
    }

i always use this when back is listview.



回答4:

I am using following one.

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