Перезапуск активности Android - PullRequest
3 голосов
/ 26 мая 2011


У меня путаница при возобновлении деятельности. У меня есть две функции, которые хорошо работают для одной и той же задачи.Пожалуйста, направьте меня, что лучше и почему?

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

    }

или

public void restart()   
    {         
        onCreate();  
    }  

Заранее спасибо?

Ответы [ 3 ]

3 голосов
/ 26 мая 2011

Я думаю, что это более чистый способ для вашего требования.

    Intent intent = getIntent();
    overridePendingTransition(0, 0);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    finish();
    overridePendingTransition(0, 0);
    startActivity(intent);
0 голосов
/ 03 июля 2013

Это было опубликовано до :

Intent intent = getIntent();
finish();
startActivity(intent);
0 голосов
/ 26 мая 2011

Действия в системе управляются как стек действий.Когда начинается новое действие, оно помещается на вершину стека и становится текущим действием - предыдущее действие всегда остается под ним в стеке и не будет снова выходить на передний план, пока не завершится новое действие.

для получения дополнительной информации см. Активность

...