【问题标题】:Android State Machine安卓状态机
【发布时间】:2012-06-07 14:33:47
【问题描述】:

我编写了一个 Android 应用程序。我的应用程序中有很多活动,活动之间有大量的转换。我决定实现一个状态机,它将切换我的活动。

我希望在我的应用程序类或其子类中实现状态机,但我无法从它启动任何活动。

public class MainAppClass extends Application {}

这样的代码失败了:

Intent intent = new Intent();
intent.setClass(this.MyActivity, Screen2Activity.class);
StartActivity(intent);

也许,这是不真实的吗?这些任务还有其他方法吗? 感谢您的回答!

【问题讨论】:

  • 你为什么要这样做?当您启动主要活动时,应用程序类会自动生成(在您将其添加到清单之后)......您不需要从应用程序类启动活动(我也不认为您应该这样做)。

标签: class android-intent android-activity android


【解决方案1】:

这是另一个问题:你为什么要尝试从Application 的子类开始活动?

阅读此内容(来自文档),您会明白为什么您尝试做的事情没有任何意义。

Application 类是那些需要维护全局应用程序状态的基类。通常不需要子类化应用程序。在大多数情况下,静态单例可以以更模块化的方式提供相同的功能。如果您的单例需要全局上下文(例如注册广播接收器),则可以为检索它的函数提供 Context,它在首次构造单例时在内部使用 Context.getApplicationContext()

如果你编辑你的原始帖子,澄清你为什么要这样做,也许我可以为你指出一个更合适的方法来启动你的Screen2Activity

【讨论】:

    猜你喜欢
    • 2018-03-17
    • 1970-01-01
    • 1970-01-01
    • 2018-04-02
    • 2014-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多