判断一个activity初始化是否完毕的方法

有的时候我们需要判断一个activity是否初始化完毕,比如说activity初始化时弹出一个popwindow,直接写的话会报错,这里提供一个方法

android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/main"
android:orientation="vertical" >





/***************** 以下代码用来循环检测activity是否初始化完毕 ***************/
Runnable showPopWindowRunnable = new Runnable() {


@Override
public void run() {
// 得到activity中的根元素
View view = findViewById(R.id.main);
// 如何根元素的width和height大于0说明activity已经初始化完毕
if (view != null && view.getWidth() > 0 && view.getHeight() > 0) {
此处代表改activity已经初始化完毕
// 停止检测
mHandler.removeCallbacks(this);
} else {
// 如果activity没有初始化完毕则等待5毫秒再次检测
mHandler.postDelayed(this, 5);
}
}
};
// 开始检测
mHandler.post(showPopWindowRunnable);
/****************** 以上代码用来循环检测activity是否初始化完毕 *************/

你可能感兴趣的:(判断一个activity初始化是否完毕的方法)