我正在努力弄清楚如何处理 Android中的情况,其中代码继续执行时,我真的不想要它.在一个活动的onCreate()中,我有一些我需要按顺序完成的东西,我不能让代码继续执行,直到某些事情先
ShowEula是我创建的一个类,用于显示与我的EULA的简单对话.在调用DBGetOnlineVersionNumber()之前,我真的需要等到用户同意或不同意EULA.也许我只是不按照正确的方式去做.无论如何这里是我的代码片段:
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); String version; ShowEula(); version = DBGetOnlineVersionNumber(); ....您需要根据android使用的事件驱动模型重新思考问题.
您不能等待onCreate中的UI事件,因为在onCreate返回之后才能传递UI事件.
也许您可以将事物组织为软件状态机.
onCreate将显示EULA并将状态设置为EULA_SHOWING
接受会将状态推进到EULA_ACCEPTED并显示下一步
当然,您可能不希望在每次启动时显示EULA,但仅在安装后显示,但您可以使用存储在设置中的内容来处理此问题.