尝试从自身重新加载Android活动无法正常工作

时间:2015-05-02 22:45:15

标签: android crash recreate

我的问题是:我无法找到一种从自身重启活动的方法。例如,在游戏中,如果你死了,就会有一个菜单,可以选择重试,立即重启舞台。情况确实如此。

正如我从很多其他人那里读到的关于这个问题的答案,有两种重新加载活动的主要方法:

1- finish(); startActivity(getIntent());

2- recreate();

第一种方法对我来说似乎不起作用,因为它重新启动了活动,但是在我的堆栈背面保留了先前创建的一个方法。貌似finish()语句没有做它的东西。我试图把它放在前面,后面和各种各样的方式,但它永远不会关闭留下的活动。

另一方面,从UI线程外部无法调用选项号2(据我所知),如果我这样做,应用程序崩溃了。我尝试使用:

调用recreate方法
    Activity.this.runOnUiThread(new Runnable() {
        public void run() {
            recreate();
        }
    });

但是这种方法让我在屏幕上闪烁得非常糟糕。突然出现黑屏,这似乎不对。

1 个答案:

答案 0 :(得分:3)

试试这个:

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