Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java “持续”的最佳方式;勾选“;android中的片段可见性/键盘可见性_Java_Android_Android Fragments_Android Fragmentactivity - Fatal编程技术网

Java “持续”的最佳方式;勾选“;android中的片段可见性/键盘可见性

Java “持续”的最佳方式;勾选“;android中的片段可见性/键盘可见性,java,android,android-fragments,android-fragmentactivity,Java,Android,Android Fragments,Android Fragmentactivity,我想继续检查碎片是否可见或更好。如果Android应用程序中存在键盘。最好的方法是什么 我不太熟悉活动生命周期,但我希望这是正确的方法。下面的代码是用OnCreate方法编写的。我需要它不断地运行 if (timeFragment.isVisible()){ Toast.makeText(getApplicationContext(), "Time visible", Toast.LENGTH_LONG).show(); } 对于片段,每次片段变为可见或不可见时都会触发函数setUse

我想继续检查碎片是否可见或更好。如果Android应用程序中存在键盘。最好的方法是什么

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

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

对于片段,每次片段变为可见或不可见时都会触发函数setUserVisibleHint(布尔值isVisible)

与轮询相比,这将节省资源。在时间分段中:

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();
}

希望这有帮助……

如果您真正想要的是检查软键盘当前是否在屏幕上(正如我从您对我上面评论的回复中所假设的那样),您可以使用这种相当粗糙的方法。

好的,因此我将此代码准确地放入我的TimeFinder.java中,在my
onCreateView
和onActivityCreated的正下方。eclipse中没有错误,但它似乎不起作用。很有趣。这个代码一直在为我工作。我唯一能想到的就是添加super.setUserVisibleHint(isVisible)。此外,如果您在调试器中,是否会调用此函数?另一件事可能是添加@Override标志以确认函数定义中没有输入错误。Android开发人员说,
setUserVisibleHint
适用于API级别15。我添加了@Override,但仍然没有添加任何内容。啊。看起来这会很痛苦。你说的“如果键盘存在”是什么意思?例如:你是说专注吗?或者是否显示软键盘?或者别的什么?如果有软键盘。