我想用onResume()方法重新启动一个活动.我以为我可以使用Intent来实现它,但这会以无限循环结束.
@Override protected void onResume() { Intent intent = new Intent(MainActivity.this,MainActivity.class); MainActivity.this.startActivity(intent); finish(); super.onResume(); }
还有另一种重启活动的方法吗?
解决方法
我会问你为什么要这样做……但这是我脑海里浮现的第一件事:
@Override protected void onCreate(Bundle savedInstanceState) { ... Log.v("Example","onCreate"); getIntent().setAction("Already created"); } @Override protected void onResume() { Log.v("Example","onResume"); String action = getIntent().getAction(); // Prevent endless loop by adding a unique action,don't restart if action is present if(action == null || !action.equals("Already created")) { Log.v("Example","Force restart"); Intent intent = new Intent(this,Example.class); startActivity(intent); finish(); } // Remove the unique action so the next time onResume is called it will restart else getIntent().setAction(null); super.onResume(); }
您应该使“已创建”成为唯一,以便其他任何意图都不会意外地执行此操作.
原文地址:https://www.jb51.cc/android/316626.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。