0

我的一个 Android 应用程序遇到了一个奇怪的问题。我会解释自己:

  • 我有一个 SplashScreen(有点)这是一项活动。基本上,它会停留 1 秒,然后在此时间之后调用处理程序。这个处理程序启动 my HomeActivity,它扩展了RoboActivity(Roboguice API)。

  • 在这次发布期间,我在堆栈跟踪中看到 Roboguice 正在初始化,我的班级也是如此。因此启动HomeActivity(在 SplashScreen 等待 1 秒之后)需要 1-2 秒。

  • 所以基本上,这就是我遇到的问题。在这 1-2 秒的加载过程中,SplashScreen 是最前面显示的,并且HomeActivity仅在这 2 秒后出现。如果用户在这几秒钟内点击屏幕,HomeActivity就会触发事件。这意味着如果您单击 SplashScreen 并等待,当HomeActivity将显示时,您将听到单击声音,并且位于用户单击位置的按钮将触发。

我觉得这对用户来说非常令人不安。所以,此刻,我试图:

  • 通过添加停用 xml 布局中的按钮

                android:enabled="false"
                android:clickable="false"
    
  • 通过添加 onResume 函数重新激活按钮:

    button.setEnabled(true);
    button.setClickable(true);
    
  • 我在堆栈跟踪中看到OnClickListeneronResume. 所以此时,按钮被重新启用,所以它点击了。我也尝试过 postOnResume,它也不起作用。

您是否经历过与我现在相同的行为?知道如何解决吗?

4

0 回答 0