我无法判断您是否尝试停止onClick()
工作,直到加载当前活动中按钮的图像,或者您是否担心在让用户切换到它们之前加载其他活动中的图像(即您不'不希望用户在 Activity 4 中看到没有背景的按钮。)。这是我对两者的建议。
如果它是第一个问题,为什么不在您的活动中添加一个布尔标志?例如,假设 onClick 您的按钮会触发方法 nextActivity。创建一个变量 buttonReady,它在您的活动开始时为假,但在结束时设置为真onCreate()
- 大概是当您完成处理该怪物图像时。然后只需在您触发的方法中添加一个条件
public void nextActivity(View v){
if(buttonReady){
//start your next activity
} else {
Log.d("Button click", "Still loading. . .);
}
}
这样您就不会禁用单击按钮的功能,只会禁用效果。如果问题是您不希望人们在加载图像之前使用该按钮,我会采用类似的方法。只需使用findViewById
并将按钮设置为不可见,直到处理完位图,然后使按钮出现。
如果您的问题是您想延迟onClick
按钮直到加载其他活动中的图像,那就更难了。我的问题是,至少在第一次启动时,不会加载任何图像 - 假设您正在使用它们的活动中处理位图。在这种情况下,我有两个可能的建议:
(1) 将按钮设置为不可见,直到按照上述建议处理图像,并在图像加载时将其恢复。例如隐藏:
View button = findViewById(R.id.button);
button.setVisibility(View.GONE);(
(2) 创建一个图像缓存,在第一个活动期间将图像加载到那里,然后在填充缓存后从其他活动访问它们。您可以在此处阅读有关缓存位图的更多信息。
要使这个建议起作用,您需要稍微修改 android 文档中解释的方法。与其在一个活动中包含缓存,不如使用单例模式之类的东西来启动一个可以在整个应用程序中访问的缓存。这样,您只需加载 bimap 一次。