【发布时间】:2018-01-09 01:41:08
【问题描述】:
我有两个活动,A 和 B; A 的布局包含一个按钮ABut 来调用B。我想在B 的布局完全呈现(用户可见的组件)之后执行代码。从Android life Cycle Doc 我应该将该代码放入onResume 方法中。这就是我所做的,但代码仍然在布局渲染之前执行。为了在B的布局显示之前检查该代码是否有效执行,我确实在该代码中延迟了4秒,结果是:点击ABut,在4秒内没有任何反应,然后@987654330 @的布局显示:确认onResume里面的代码在布局显示之前被有效调用!!!。
这里我给你部分代码:
A的代码:
...
public void onAButClick(View v){
startActivity(new Intent(getApplicationContext(),BActivity_.class));
}
...
B的代码:
...
@Override
protected void onResume() {
super.onResume();
try {
Thread.sleep(4000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Log.i(TAG,"Data Loaded");
}
...
有人能告诉我为什么 onResume 方法中的代码在布局显示之前执行,我怎样才能让它在视图完全呈现后立即执行?
谢谢
【问题讨论】:
标签: android android-layout android-activity android-lifecycle