Android活动重启

时间:2011-05-26 05:51:32

标签: android android-activity restart


我在重新启动活动时感到困惑。我有两个功能可以很好地完成相同的任务。请指导我哪个最好,为什么?

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 个答案:

答案 0 :(得分:3)

我认为这是一种更清洁的方式来满足您的要求。

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

答案 1 :(得分:0)

系统中的活动作为活动堆栈进行管理。当一个新活动开始时,它被放置在堆栈顶部并成为运行活动 - 前一个活动始终保持在堆栈中低于它,并且在新活动退出之前不会再次到达前台。

有关详细信息,请参阅Activity

答案 2 :(得分:0)

这是posted before

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