android - 单击 Activity 的其他 Fragments 时,有没有办法关闭 Window Popup。?
问题描述
我在 Fragment-A 中创建了 Window 弹出窗口。如果用户单击其他片段(片段 B 或片段 C),我想关闭它。请您告知如何实现这一目标。
下面是我创建片段的代码
private void setupViewPager(ViewPager viewPager) {
Adapter adapter = new Adapter(getSupportFragmentManager());
adapter.addFragment(new FragmentA(), "FragA");
adapter.addFragment(new FragmentB, "FragB");
adapter.addFragment(new FragmentC, "FragC");
viewPager.setAdapter(adapter);
}
static class Adapter extends FragmentPagerAdapter {
private final List<Fragment> mFragments = new ArrayList<>();
private final List<String> mFragmentTitles = new ArrayList<>();
public Adapter(FragmentManager fm) {
super(fm);
}
public void addFragment(Fragment fragment, String title) {
mFragments.add(fragment);
mFragmentTitles.add(title);
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public CharSequence getPageTitle(int position) {
return mFragmentTitles.get(position);
}
用于创建 PoPup 的代码
View popupView = getLayoutInflater().inflate(R.layout.popup,
null);
popupWindow = new PopupWindow(popupView,
ViewGroup.LayoutParams.WRAP_CONTENT,
ViewGroup.LayoutParams.WRAP_CONTENT, false);
popupWindow.setBackgroundDrawable(new ColorDrawable(Color.WHITE));
popupWindow.showAsDropDown(popupView, mEditText.getScrollX(),
mEditText.getScrollY()-50);
recyclerView = (RecyclerView)
popupView.findViewById(R.id.popuprelativelayout);
linearLayoutManager = new LinearLayoutManager(getContext());
recyclerView.setLayoutManager(linearLayoutManager);
adapterString = new AdapterString(popupWindow,userfollowlist,
getContext(), mEditText,isWinOpen);
recyclerView.setAdapter(adapterString);
isWinOpen = true;
}
已尝试使用以下方法,但无法感知片段的变化。
@Override
public void onHiddenChanged(boolean hidden) {
if(!hidden)
{
if(isWinOpen) {
popupWindow.dismiss();
isWinOpen = false;
}
}
}
如前所述,如果您能建议在单击其他片段时如何关闭弹出窗口,将不胜感激。
在此先感谢您的帮助!!!!!
解决方案
推荐阅读
- sql - 如何将 SCOPE_IDENTITY 作为值返回以在 Angular 应用程序中使用
- arrays - 使用 Flutter 中的类解析 JSON 文件
- c++ - 使用哪些数据类型从用户获取字符串,然后将其与数组中的其他字符串进行比较?
- reactjs - Heroku 应用程序给出“status=404”但没有出现
- python - 使用多标准加权对 Pandas DataFrame 进行排序
- data-structures - 如何在 Coq 中实现联合查找(不相交集)数据结构?
- r - 需要模型 MLE 有限值
- html - 如何使输入(收音机?)看起来像两个选择之间的切换/滑块?
- python - 同一程序上的 Pynput 鼠标和键盘
- react-native - React Native Dimensions 不适用于旋转