xiaoxiaoaishang
xiaoxiaoaishang
2012-10-25 03:26
采纳率: 100%
浏览 17.7k

怎么重启一个android activity?

怎么重启一个activity?我试着像下边这么做,但是activity仍然只是退出。

public static void restartActivity(Activity act){

        Intent intent=new Intent();
        intent.setClass(act, act.getClass());
        act.startActivity(intent);
        act.finish();

}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • Sueyexin
    Sueyexin 2012-10-25 05:35
    已采纳

    我是这样做的主题转换:

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

    基本上来说,我先调用finish(),我用同样的intent,这个activity就启动了。这不是开玩笑么?

    点赞 评论
  • niangzhi
    niangzhi 2012-10-25 07:36

    实际上比较简单的方法是像这样:

        public void reload() {
    
        Intent intent = getIntent();
        overridePendingTransition(0, 0);
        intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
        finish();
    
        overridePendingTransition(0, 0);
        startActivity(intent);
    }
    
    点赞 评论
  • ueryueryuery
    李狗蛋52635 2012-10-26 05:40

    最简单的方法:
    使用这个Activity.recreate();

    点赞 评论
  • weixin_41232585
    weixin_41232585 2019-08-09 17:26

    你们都是认真的吗?都是先finish再startActivity,确定关闭了页面还能继续往下走?我的方法是这样的:
    private void reload() {
    Intent intent = getIntent();
    intent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
    startActivity(intent);
    overridePendingTransition(0, 0);
    finish();
    }

        我之所以加了flags的原因:a-》b-》b,a页面用了startActivityForResult,为了最后一个页面setResult()能传值给a
    
    点赞 评论

相关推荐