布局有时在android片段中重叠

时间:2019-10-01 17:13:08

标签: android

我的代码效果很好 但有时布局会重叠 该代码的原因是,不应重新加载第一个片段。 并且应该始终重新加载第二个和第三个片段

您是否曾经遇到过布局重叠代码的问题?

@Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem)
{
    Fragment selectedFragment = null;


    switch (menuItem.getItemId())
    {
        case R.id.timer:
            fm.beginTransaction().hide(active).show(fragment1).commit();
            active = fragment1;
            break;

        case R.id.favorite:
            fm.beginTransaction().hide(active).commit();
            fm.beginTransaction().detach(fragment2).attach(fragment2).commit();
            fm.beginTransaction().show(fragment2).commit();

            active = fragment2;


            break;

        case R.id.calendar:
            fm.beginTransaction().hide(active).commit();
            fm.beginTransaction().detach(fragment3).attach(fragment3).commit();
            fm.beginTransaction().show(fragment3).commit();

            active = fragment3;

            break;
    }

    return true;

}

1 个答案:

答案 0 :(得分:0)

根据我的理解,您必须基于菜单单击来显示一个屏幕,所以为什么不使用xml中的FrameLayout并基于单击或任何事件来添加或替换片段。制作3个不同的Fragment类,并使用界面或Google提供的任何最新的arch组件。