我的一个Android应用程序遇到了一个奇怪的问题。 我会自己解释一下:
我有一个SplashScreen(有点),这是一项活动。基本上,它保持1秒,在此之后调用一个处理程序。此处理程序启动我的HomeActivity
,其扩展RoboActivity
(Roboguice API)。
在此次发布期间,我在堆栈跟踪中看到Roboguice正在初始化,我的课程也是如此。所以启动HomeActivity
需要1-2秒(在SplashScreen等待1秒后)。
基本上,这就是我遇到的问题。在加载1-2秒期间,SplashScreen是前面显示的,而HomeActivity
仅在此2秒后出现。如果用户在这几秒钟内点击屏幕上的,则HomeActivity
将触发该事件。这意味着,如果您点击SplashScreen,等待,HomeActivity
将显示,您将听到咔嗒声,并且位于用户点击位置的按钮将触发。
我发现这对用户来说非常令人不安。所以,目前,我试图:
通过添加
来停用xml布局中的按钮 android:enabled="false"
android:clickable="false"
通过添加onResume函数重新激活按钮:
button.setEnabled(true);
button.setClickable(true);
我在堆栈跟踪中看到OnClickListener
刚刚在onResume
之后触发。所以此时,按钮会重新启用,因此会点击。我也尝试使用postOnResume,它也不起作用。
您是否经历过与现在相同的行为? 知道怎么解决吗?