最好的方法是经常"检查" android中的片段可见性/键盘可见性

时间:2012-08-01 05:49:26

标签: java android android-fragments android-fragmentactivity

我想不断检查片段是否可见或更好。如果键盘存在于Android应用程序中。什么是最好的方法呢?

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

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

2 个答案:

答案 0 :(得分:1)

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

与轮询相比,这将节省资源。在timeFragment中:

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

希望这会有所帮助......

答案 1 :(得分:0)

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