Android 如何确保创建了所有视图

Android 如何确保创建了所有视图,android,android-layout,android-fragments,android-asynctask,android-view,Android,Android Layout,Android Fragments,Android Asynctask,Android View,我使用的是AsyncTask,在我创建的一个后台线程中,我必须知道给定视图的大小。 但有时这种观点还没有形成。 所以问题是:在活动生命周期的哪一部分,我可以确定所有视图都已经就位,并且定义了维度 PS:我的代码在片段中,我已经尝试了onResume()方法。自定义要获得大小的视图: public class SizeFetchableView extends YourView{ //constructors... private SizeFetchListener mSizeFetchLis

我使用的是
AsyncTask
,在我创建的一个后台线程中,我必须知道给定
视图的大小。
但有时这种观点还没有形成。
所以问题是:在活动生命周期的哪一部分,我可以确定所有视图都已经就位,并且定义了维度


PS:我的代码在
片段中,我已经尝试了
onResume()
方法。

自定义要获得大小的视图:

public class SizeFetchableView extends YourView{

//constructors...

private SizeFetchListener mSizeFetchListener;
public void setSizeFetchListener(SizeFetchListener l){
       mSizeFetchListener = l;
}
public void onLayout(boolean isChanged,int l,int t,int r,int b){
       super.onLayout(l,t,r,b);
       if(mSizeFetchListener!=null){
         mSizeFetchListener.onFetchSize(this,isChanged,getWith(),getHeight());
       }
}

public interface SizeFetchListener{
public void onFetchSize(View view,boolean isChanged,int w,int h);
}

}
因此,您可以使用SizeFetchListener在第一时间获取视图大小,但是依赖于大小的线程逻辑必须等待fetch size接口调用

public class Task extends Thread implements SizeFetchListener{
SizeFetchableView mSizeFetchableView;
   public Task(SizeFetchableView v){
          mSizeFetchableView=v;
          mSizeFetchableView.setSizeFetchListner(this);
   }

   public void onFetchSize(View view,boolean isChanged,int w,int h){
   //and this time ,you can start you thread if not,or continue you logic who waiting the size

   }
}
//请原谅我的英语不好。谢谢