Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/99.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检测碎片的测量通过时间';的主视图已完成(或与ViewDidLayoutSubView相当的Android版本)_Android_Ios_Android Fragments - Fatal编程技术网

检测碎片的测量通过时间';的主视图已完成(或与ViewDidLayoutSubView相当的Android版本)

检测碎片的测量通过时间';的主视图已完成(或与ViewDidLayoutSubView相当的Android版本),android,ios,android-fragments,Android,Ios,Android Fragments,我有一个类,它是主AndroidFragment类的子类。然后,这个ViewFragment被一组显示各种内容的其他类子类化 我在该类中有一个方法,我希望在片段的OnCreateView()方法返回的主视图上的“measure”传递完成时运行该方法(原因是,我希望检测视图的测量高度,如果它比屏幕长,则在底部添加一个额外视图)。特别是,我希望能够调用片段主视图的invalidate()方法,然后检测测量何时完成 由于不同子类的onCreateView()返回不同类型的视图,我不能简单地覆盖返回视图

我有一个类,它是主Android
Fragment
类的子类。然后,这个
ViewFragment
被一组显示各种内容的其他类子类化

我在该类中有一个方法,我希望在片段的
OnCreateView()方法返回的主视图上的“measure”传递完成时运行该方法(原因是,我希望检测视图的测量高度,如果它比屏幕长,则在底部添加一个额外视图)。特别是,我希望能够调用片段主视图的
invalidate()
方法,然后检测测量何时完成

由于不同子类的
onCreateView()
返回不同类型的视图,我不能简单地覆盖返回视图上的方法


现在这实际上是来自iOS的一个端口,其中Fragment=UIViewController。在iOS land中,我所追求的结果是通过覆盖
-(void)viewDidLayoutSubviews
方法来实现的。

创建一个抽象方法视图getView(LayoutFlater充气机、ViewGroup容器、Bundle savedInstanceState),在onCreateView中调用它,并将返回的视图添加到覆盖onMeasure()的自定义FrameLayout中最后返回定制的FrameLayout

我可以看到这是如何工作的。不过,似乎需要付出很大的努力。不管怎样,我会试试看,看看效果如何。