我有一个片段活动。里面有一个片段。当我点击activity.one对话框上显示的按钮时。但是当我关闭对话框时,我需要在片段中进行一些UI更改。但我没有在片段中获得窗口焦点更改事件。但在解除对话时,活动正在接收焦点变化事件。如何在片段中获得焦点变化事件?是否有任何回调或我们可以实现的任何接口。我在androi中的焦点更改侦听器上实现但是它没有用。
答案 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()方法的回调方法,并相应地处理片段