我的问题是:我想不出一种方法来重新启动自己的 Activity 。例如,在游戏中,如果您死了,那么会有一个带有重试选项的菜单,该菜单会立即重新启动舞台。确实是这样。
正如我从其他许多人那里得到的关于该问题的答案中所读到的,有2种主要方法可以重新加载 Activity :
1- finish();
startActivity(getIntent());
2- recreate();
第一种方法似乎对我不起作用,因为它重新启动了 Activity ,但是将先前创建的方法留在了堆栈的背面。看起来finish()语句没有做任何事情。我尝试过将它放在前面,后面和所有方式中,但是它永远不会关闭剩下的 Activity 。
另一方面,选项编号2不能从UI线程外部调用(据我所知),如果我这样做,则应用程序崩溃。我试图使用以下方法调用recreate方法:
Activity.this.runOnUiThread(new Runnable() {
public void run() {
recreate();
}
});
但是这种方法使我的屏幕闪烁得非常糟糕。黑屏突然出现,这似乎不正确。
最佳答案
尝试这个:
Intent intent = getActivity().getIntent();
getActivity().finish();
startActivity(intent);
关于android - 尝试从本身无法重新加载Android Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008341/