android – 如何获取onWindowFocusChanged片段?

android – 如何获取onWindowFocusChanged片段?,第1张

概述我正在使用 Android Sliding Menu using Navigation Drawer. 我知道onWindowFocusChanged在MainActivity上工作. 我如何检查它是否集中在片段上? 有人说我可以把hasFocus传递给片段,但是我不知道该怎么做.任何人都可以给我一些示例代码? 我想在我的片段上运行↓这个 @Overridepublic void onWindo @H_404_0@我正在使用 Android Sliding Menu using Navigation Drawer.
我知道onWindowFocusChanged在MainActivity上工作.
我如何检查它是否集中在片段上?

有人说我可以把hasFocus传递给片段,但是我不知道该怎么做.任何人都可以给我一些示例代码?

我想在我的片段上运行↓这个

@OverrIDepublic voID onWindowFocusChanged(boolean hasFocus) {    super.onWindowFocusChanged(hasFocus);    if (hasFocus) {        //I need to do someing.        method();    }}
解决方法 您可以创建一个接口,并且所有的片段都可以实现这个接口,而在你的onWindowFocusChanged里面你可以得到当前片段,并传递调用接口提供的方法.

片段的示例界面可以是:

public interface IOnFocusListenable {   public voID onWindowFocusChanged(boolean hasFocus);}

你的碎片必须实现这个界面:

public class MyFragment implement IOnFocusListenable {    ....    public voID onWindowFocusChanged(boolean hasFocus) {        ...    }}

而在你的Activity的onWindowFocusChanged中,你可以做
下列:

public class MyActivity extends AppCompatActivity {   @OverrIDe   public voID onWindowFocusChanged(boolean hasFocus) {        super.onWindowFocusChanged(hasFocus);        if(currentFragment instanceOf IOnFocusListenable) {            ((IOnFocusListenable) currentFragment).onWindowFocusChanged(hasFocus);        }    }}

或者您创建一个侦听器,并将活动片段添加到侦听器.因此,如果片段可见,您订阅此侦听器,并且每次调用onWindowFocusChangedevent时,都将调用此侦听器.

这种方法与上述非常相似,区别在于有一个IOnFocusListenable的列表,那些在活动onWindowFocusChanged方法中被触发

总结

以上是内存溢出为你收集整理的android – 如何获取onWindowFocusChanged片段?全部内容,希望文章能够帮你解决android – 如何获取onWindowFocusChanged片段?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1130896.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存