转自:https://www.2cto.com/kf/201703/619098.html
Activity1中:
private static ProgressDialog dialogIntent;
dialogIntent = ProgressDialog.show(getActivity(), "请稍等", "正在跳转...", true, true);
public static void closeProgressDialog() {
dialogIntent.dismiss();
}
Activity2中:
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
if (hasFocus) {
Message message = mHandler.obtainMessage(EVENT_TIME_TO_CHANGE_IMAGE);
message.sendToTarget();
}
}
private Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
switch (msg.what) {
case EVENT_TIME_TO_CHANGE_IMAGE:
Fragment_jy_db.closeProgressDialog();
break;
}
}
};
onWindowFocusChanged重要作用
转自:https://www.cnblogs.com/lijunamneg/archive/2013/01/19/2867532.html
在Activity的生命周期中,onCreate()--onStart()--onResume()都不是窗体Visible的时间点,真正的窗体完成初始化可见获取焦点可交互是在onWindowFocusChanged()方法被执行时,而这之前,对用户的操作需要做一点限制。
比如我们在做OTT项目时候,我们就是在这onWindowFocusChanged来获取主按键的具体位置和宽高的,而在其他标准生命周期的接口中调用都是获取不到的,比如在onResume,onStart中都获取不到信息。
这个onWindowFocusChanged指的是这个Activity得到或者失去焦点的时候 就会call。。
也就是说 如果你想要做一个Activity一加载完毕,就触发什么的话 完全可以用这个!!!
使用一个view的getWidth() getHeight() 方法来获取该view的宽和高,返回的值却为0。
如果这个view的长宽很确定不为0的话,那很可能是你过早的调用这些方法,也就是说在这个view被加入到rootview之前你就调用了这些方法,返回的值自然为0.
也就是说 如果你想要做一个Activity一加载完毕,就触发什么的话 完全可以用这个!!!