【问题标题】:How to restart the onCreate function如何重启 onCreate 函数
【发布时间】:2011-08-22 15:45:36
【问题描述】:

我有一个应用程序,当我希望重新创建我的活动或需要调用 onCreate 函数以便可以再次执行不同的函数时,存在某些条件。就像设备的方向发生变化并调用 oncreate 函数或重新创建活动一样,我希望我的应用程序重新启动。目前我正在使用this.onCreate(null),但我认为这不是最好的方法..
请给一些建议。
非常感谢

【问题讨论】:

  • 嗨。您能否提供更多背景信息。什么时候需要重启,为什么?
  • 实际上,我为用户提供了选项来选择他们是要使用内部存储还是外部存储。每当他们更改选择时,我都会使用 this.onCreate(null) 重新启动活动,以便可以再次执行对存储执行的所有检查。这种方法正确吗?

标签: android android-activity restart oncreate


【解决方案1】:

如何在你的 onCreate() 之外创建一个方法来完成所有活动的工作,并在你的 onCreate 方法中调用它来加载活动。如果您需要刷新 Activity,只需调用该新方法即可。例如:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    loadActivity();
}

private void loadActivity() {
    // Do all of your work here
}

private OnClickListener ReloadActivity = new OnClickListener() {
    public void onClick(View v) {
        loadActivity();
    }
};

【讨论】:

  • 请告诉我调用 this.onCreate(null) 和 loadActivity() 会有什么不同。有什么区别??
  • 这一切都取决于你如何处理它以及在你的 loadActivity() 中做了什么。我强烈建议反对 this.onCreate(null),因为我不知道这样做的后果。在 onCreate 中调用一个方法并从按钮等调用它是处理此问题的建议方法。
  • 先生,我会试试你的解决方案。你能帮我理解如果我调用 loadActivity() 而不是 onCreate(null) 会有什么不同。只是想知道区别吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-01-22
  • 1970-01-01
  • 2019-12-19
  • 2021-12-29
  • 2020-02-20
  • 1970-01-01
相关资源
最近更新 更多