java - 我需要 Android 和 Java 方面的帮助

标签 java android

我正在努力弄清楚如何处理 Android 中的代码继续执行但我真的不希望它执行的情况。在 Activity 的 onCreate() 中,我需要按顺序执行一些操作,在某些事情先发生之前,我无法让代码继续执行。我知道这就是 Android 和 Java 的行为方式,我正在努力寻找另一种方法来完成我需要的事情。

ShowEula 是我创建的一个类,用于显示带有我的 EULA 的简单对话框。在调用 DBGetOnlineVersionNumber() 之前,我真的需要等到用户同意或不同意 EULA。也许我只是没有走正确的路。无论如何,这是我的代码 fragment :

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,而是仅在安装后显示,但您可以使用设置中存储的内容来处理此问题。

关于java - 我需要 Android 和 Java 方面的帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4362367/

相关文章:

java - 在锁屏上添加应用程序快捷方式

android - 更新 RecyclerView 的 EditText 组件中的文本

java - Android Studio 无法识别字符串

android - 使用数组改造解析 json 对象

java - JUnit 消息是否应该说明成功或失败的条件?

java - Spring Data - MongoDb 聚合 $ifNull

java - 同时运行 2 个线程

java - Swing 线程安全编程

javascript - UIWebView javascript 界面

java - Android傻瓜代码错误