如何从Android中的活动片段中获取OnWindowFocusChanged事件? :o

时间:2014-09-03 07:11:54

标签: android focus fragment

我有一个片段活动。里面有一个片段。当我点击activity.one对话框上显示的按钮时。但是当我关闭对话框时,我需要在片段中进行一些UI更改。但我没有在片段中获得窗口焦点更改事件。但在解除对话时,活动正在接收焦点变化事件。如何在片段中获得焦点变化事件?是否有任何回调或我们可以实现的任何接口。我在androi中的焦点更改侦听器上实现但是它没有用。

3 个答案:

答案 0 :(得分:1)

一种解决方案是覆盖Activity.onWindowFocusChanged(),然后将该事件分发给您的片段。

答案 1 :(得分:1)

您必须在Activity中捕获onWindowFocusChanged(boolean hasFocus)并使用此模式Communicating with Other Fragments将此事件传递给您的片段。您也可以使用现有的一些EventBus库(例如GreenDao EventBus)代替此通信。

答案 2 :(得分:0)

片段内 onResume()尝试使用 View.requestFocus() onResume()活动将焦点传递给已加载片段使用requestFocus()。

另一种方法是覆盖onWindowFocusChanged()方法的回调方法,并相应地处理片段