首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >按下后退按钮时,用户界面变得混乱

按下后退按钮时,用户界面变得混乱
EN

Stack Overflow用户
提问于 2016-10-29 00:22:31
回答 1查看 32关注 0票数 0

我有调用一些片段的FragmentActivity (MainFragmentActivity)。我会说下面的是第三个片段。

代码语言:javascript
复制
BaseFragment fragSensors = SensorsPagerFragment.newInstance(
                            m_objAppCredentials);
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();

if (bFirst)
    ft.add(R.id.flControlContainer, fragSensors, strTag);
else
    ft.replace(R.id.flControlContainer, fragSensors, strTag);

在下面的课上有一张视图纸,在滑动时调用更多的碎片。在其中一个片段中,一个活动被称为。当从活动中按下后退按钮时。出现第一个片段UI,它与viewpager中的一个片段的UI混合在一起。

如何销毁视图中片段的UI或避免UI混淆?

代码语言:javascript
复制
public class SensorsPagerFragment extends BaseFragment {
    ViewPager m_oVP;

    public SensorsPagerFragment() {
        LogUtils.LOGD("DEBUG", "SensorsPagerFragment::CTOR");
    }

    public static SensorsPagerFragment newInstance(AppCredentials objAppCredentials) {
        SensorsPagerFragment frag = new SensorsPagerFragment();
        m_objAppCredentials = objAppCredentials;
        return frag;
    }

    @Override
    public View onCreateView(LayoutInflater inflater,
                             ViewGroup container,
                             Bundle savedInstanceState) {
        View v = inflater.inflate(R.layout.fragment_sensors_pager, container, false);

        m_oVP = (ViewPager) v.findViewById(R.id.vpSensors);
        //pager.setOffscreenPageLimit(0);
        // Attach the adaptor to the PAGER
        m_oVP.setAdapter(buildAdapter());

        return v;
    }

    private PagerAdapter buildAdapter() {
        return (new SensorFragmentPA(getChildFragmentManager()));
    }

    @Override
    public void onStop() {
        super.onStop();
        CustomToast.Warning(getActivity().getApplicationContext(),
                "SensorsPagerFragment::onStop()", 1);
    }

    ////////////////////////////////////////////////////////////////////////////////////////////////
    // class SensorFragmentPA
    class SensorFragmentPA extends FragmentPagerAdapter {

        public SensorFragmentPA(FragmentManager fm) {
            super(fm);
        }

        @Override
        public int getCount() {
            return Constants.cTOTAL_PAGES;
        }

        @Override
        public Fragment getItem(int nPageNum) {
            SensorsFragment f = SensorsFragment.newInstance(m_objAppCredentials, nPageNum);
            return f;
        }

        @Override
        public String getPageTitle(int nPageNum) {
            return Integer.toString(nPageNum + 1);
        }

        @Override
        public void destroyItem(ViewGroup container, int position, Object object) {
            super.destroyItem(container, position, object);
        }
    }
}
EN

回答 1

Stack Overflow用户

发布于 2016-11-25 20:38:50

我已经解决了这个问题。

我已经在每个片段中实现了回调。并在MainFragmentActivity中替换这些片段。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40309246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档