我可以从同一个活动中调用特定活动的onCreate方法吗?就像单击按钮一样,我将创建一个新选项卡,我想再次运行当前活动的onCreate方法所包含的相同代码。
答案 0 :(得分:5)
Activity#onCreate()
是一种生命周期方法,不应该由您自己的代码直接调用。如果您想重用一段逻辑,请将其分解为自己的方法,并从onCreate()
和您想要重用它的地方调用它。
理想情况下,Activity
构建和初始化自身所需的设置代码应该只在其生命周期中运行一次。因此,在按钮上点击也需要调用的东西,指出代码存在更大的问题。
答案 1 :(得分:0)
是的,你可以,但你不应该。最好将您想要的代码移出一个单独的方法,可以在活动中随时调用。正如所指出的那样,它是一个生命周期方法,只要创建或重新创建活动就会调用它。
但是,如果您仍然需要它,可以通过将Bundled数据传递给方法来调用它。
Bundle configBundle = new Bundle();
onCreate(configBundle);
您可以使用Bundled数据指出该方法应该实际执行的操作。
答案 2 :(得分:-1)
我认为这段代码会让你帮忙,但这是一种不好的做法。
Intent intent = getIntent();
finish();
startActivity(intent);