检测片段何时被绘制?

时间:2012-11-06 16:05:32

标签: android

基本上我需要onWindowFocusChanged()的功能,但需要Fragment。 遗憾的是,onWindowFocusChanged()监听器实际上不可用于片段,所以我不知道该怎么做。

有什么办法吗?

3 个答案:

答案 0 :(得分:55)

通过View中返回的onCreateView()“绘制”片段。您可以使用事件处理程序。通常,如果在View首次查看时需要运行某个命令,您可以在Runnable中分配该命令,并通过{{1}将其附加到View方法。

post()

答案 1 :(得分:0)

onWindowFocusChanged(boolean hasFocus)方法调用活动,但是当片段绘制时我们可以通过onActivitycreated()方法检查。查看此帖子https://stackoverflow.com/a/32819850/2732632

答案 2 :(得分:-3)

OnWindowFocusChanged不提供有关绘制视图的信息(或未显示) 在每个可以在Fragment中拥有焦点的视图上实现OnWindowFocusChanged。 在伪代码中:

Fragment implements OnWindowFocusChanged{

onCreate(){

btn.OnWindowFocusChanged(this);
editTxt.OnWindowFocusChanged(this);
....

}

public void OnWindowFocusChanged(boolean hasFocus){
// your fragment has focus
}

}