如何检查片段在"反向按下的活动"中可见



如何检查片段在 Activity OnBackpress 中可见

我想检查用户何时单击搜索片段中的后退按钮,我想设置 OnBackpress 正在运行,但如果用户在其他片段中单击后退按钮,我想设置 OnBackpress 未运行。

我在活动中尝试这个不是工作

btn_back.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SearchFragment searchFragment = new SearchFragment();
if (searchFragment.isVisible()){
onBackPressed();
}
}
});

感谢您的帮助!

首先,当你声明这样的东西时:

SearchFragment searchFragment = new SearchFragment();

然后打电话

searchFragment.isVisible()

这显然会返回false,因为您甚至没有将其添加到容器中。您需要做的是检索已添加的片段实例并检查其状态。

我曾经尝试使用该方法isVisible()但它并不完全准确,至少对我的情况不完全准确。我想出的是检查容器中的顶部片段,如下所示:

Fragment fragment = getActivity().getSupportFragmentManager().findFragmentById(R.id.fragment_container);
if(fragment instance of SearchFragment) //means your visible fragment is the SearchFragment
onBackPressed();

相关内容

  • 没有找到相关文章

最新更新