怎么重启一个activity?我试着像下边这么做,但是activity仍然只是退出。
public static void restartActivity(Activity act){
Intent intent=new Intent();
intent.setClass(act, act.getClass());
act.startActivity(intent);
act.finish();
}
我是这样做的主题转换:
Intent intent = getIntent();
finish();
startActivity(intent);
基本上来说,我先调用finish(),我用同样的intent,这个activity就启动了。这不是开玩笑么?
实际上比较简单的方法是像这样:
public void reload() {
Intent intent = getIntent();
overridePendingTransition(0, 0);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
overridePendingTransition(0, 0);
startActivity(intent);
}
最简单的方法:
使用这个Activity.recreate();
你们都是认真的吗?都是先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