我们试图显示一个加载屏幕,执行一些昂贵的操作(以睡眠表示),并在操作完成后显示一条消息。
预期行为: 步骤1:将rl_loading(RelativeLayout)的可见性设置为visible 步骤2:应用程式休眠2秒 步骤3:显示消息
实际发生的情况: 步骤2:应用程式休眠2秒 步骤1 + 3:可视性更改并同时显示消息
任何人都可以解释为什么会发生这种情况以及为实现预期行为需要进行哪些更改?
mainIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
rl_loading.setVisibility(View.VISIBLE); //STEP 1
try {
Thread.sleep(2000); //STEP 2
} catch (InterruptedException e) {
e.printStackTrace();
}
msg("message"); //STEP 3
}
});