YoKeyword / Fragmentation

[DEPRECATED] A powerful library that manage Fragment for Android
Apache License 2.0
9.72k stars 2.11k forks source link

fragmentation 快速切换重叠 #1127

Open BingChaoLiu opened 5 years ago

BingChaoLiu commented 5 years ago

我在机顶盒的开发过程中使用fragmentation,采用的是loadMultipleRootFragment加载需要的Fragment,在条目焦点发生改变的时候调用切换fragment的方法,由于遥控器焦点切换比较快,导致fragment会出现重叠的情况,问题必现。

mMenuList.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
            public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                mMenuListAdapter.setSelect(position);
                if (position != mPrePosition) {
                    showHideFragment(mFragmentList.get(position), mFragmentList.get(mPrePosition));
                }
                mPrePosition = position;
            }

            @Override
            public void onNothingSelected(AdapterView<?> parent) {

            }
        });
merbng commented 5 years ago

是的,我也遇到了。之前使用的1.2.5没有问题,更新到1.3.4也有这个问题。 showHideFragment

YoKeyword commented 5 years ago

重叠是指视图重叠,还是视觉上的重影?

前者的话确保showHide的fragment引用是否正确

后者严格意义上快速切换出现重影是合理的,一种解决方式:直接使用beginTransaction().show().hide().commit()试试 或者盒子的话 考虑下ViewPager + Fragment?