基本上我需要onWindowFocusChanged()
的功能,但需要Fragment
。
遗憾的是,onWindowFocusChanged()
监听器实际上不可用于片段,所以我不知道该怎么做。
有什么办法吗?
答案 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
}
}