GouravJn
GouravJn

Reputation: 256

Android activity restart


I am having a confusion in restarting an activity.. I have two function that works well for the same task. Please guide me which is best and why?

public void restart()   
    {  
        Intent intent = getIntent();  
        overridePendingTransition(0, 0);  
        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);  
        finish();  
        overridePendingTransition(R.anim.fade,R.anim.fade);
        startActivity(intent);

    }

or

public void restart()   
    {         
        onCreate();  
    }  

Thanks In advance?

Upvotes: 3

Views: 6451

Answers (3)

Sathish
Sathish

Reputation: 1475

This has been posted before:

Intent intent = getIntent();
finish();
startActivity(intent);

Upvotes: 0

Niranj Patel
Niranj Patel

Reputation: 33238

Activities in the system are managed as an activity stack. When a new activity is started, it is placed on the top of the stack and becomes the running activity -- the previous activity always remains below it in the stack, and will not come to the foreground again until the new activity exits.

for more info see Activity

Upvotes: 0

Tanmay Mandal
Tanmay Mandal

Reputation: 40168

I think this is a cleaner way for your requirement.

    Intent intent = getIntent();
    overridePendingTransition(0, 0);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    finish();
    overridePendingTransition(0, 0);
    startActivity(intent);

Upvotes: 3

Related Questions