从同一个类调用onCreate方法

时间:2015-01-25 06:23:35

标签: android

我可以从同一个活动中调用特定活动的onCreate方法吗?就像单击按钮一样,我将创建一个新选项卡,我想再次运行当前活动的onCreate方法所包含的相同代码。

3 个答案:

答案 0 :(得分:5)

Activity#onCreate()是一种生命周期方法,不应该由您自己的代码直接调用。如果您想重用一段逻辑,请将其分解为自己的方法,并从onCreate()和您想要重用它的地方调用它。

理想情况下,Activity构建和初始化自身所需的设置代码应该只在其生命周期中运行一次。因此,在按钮上点击也需要调用的东西,指出代码存在更大的问题。

答案 1 :(得分:0)

是的,你可以,但你不应该。最好将您想要的代码移出一个单独的方法,可以在活动中随时调用。正如所指出的那样,它是一个生命周期方法,只要创建或重新创建活动就会调用它。

但是,如果您仍然需要它,可以通过将Bundled数据传递给方法来调用它。

Bundle configBundle = new Bundle();
onCreate(configBundle);

您可以使用Bundled数据指出该方法应该实际执行的操作。

答案 2 :(得分:-1)

我认为这段代码会让你帮忙,但这是一种不好的做法。

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