java - 在android中持续 "check"fragment 可见性/键盘可见性的最佳方法

标签 java android android-fragments android-fragmentactivity

我想不断检查 fragment 是否可见或更好。如果 Android 应用程序中存在键盘。解决这个问题的最佳方法是什么?

我对 Activity 生命周期不太熟悉,但我希望这是正确的方法。下面的代码是在OnCreate方法中编写的。但我需要它不断运行。

if (timeFragment.isVisible()){
    Toast.makeText(getApplicationContext(), "Time visible", Toast.LENGTH_LONG).show();
}

最佳答案

对于 fragment ,每次 fragment 变得可见或不可见时都会触发函数 setUserVisibleHint(boolean isVisible)。

与轮询相比,这将节省资源。时间 fragment :

public void setUserVisibleHint(boolean isVisible) {
    if (isVisible)
        Toast.makeText(getActivity(), "Time becoming visible", Toast.LENGTH_LONG).show();
    else
        Toast.makeText(getActivity(), "Time becoming invisible", Toast.LENGTH_LONG).show();
}

希望这有帮助...

关于java - 在android中持续 "check"fragment 可见性/键盘可见性的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11753237/

相关文章:

Java反射: how get value of Field as Arraylist<>

android - fragment 中的 ViewModel 清除屏幕旋转时的值

java - 如何将对象传递给 Google Maps Android API V2 Marker?

设备中未安装 Android APK

android - Mockito 3.4.0 静态模拟异常

Android 5 屏幕故障/静态与 Viewpager 内的 Google map fragment

android - ViewPager Fragments 不显示正确的数据

java - 线程interrupt()不会中断线程

java - 如何获取泛型类型 T 的类实例?

java - 从哪里获得 JavaFx 创作工具?