我有两个片段,其中一个在默认情况下是可见的,我使用了下面的代码。(所有代码都在一个活动中,该活动是两个片段的父级)
MainFragment mainFragment = new MainFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container,mainFragment).commit();
使用导航工具,用户可以改变可见的片段,我使用这段代码来改变片段。
MarketFragment marketFragment = new MarketFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, marketFragment).commit();
但是看起来这个新片段只是出现在前一个片段的顶部,并且仍然记录了对main fragment
的点击。
我也尝试先删除main fragment
,但它没有改变任何东西。
getSupportFragmentManager().beginTransaction().remove(visibleFragment).commit();
MarketFragment marketFragment = new MarketFragment();
getSupportFragmentManager().beginTransaction().replace(R.id.fragment_container, marketFragment).commit();
我也尝试了rebuild
和invalidate cache
的项目,但这些都没有帮助。
我做错了什么?
1条答案
按热度按时间cwtwac6a1#
我认为前面的片段是可见的,因为你没有为它们设置背景。所以,你要做的就是为这些片段的布局文件设置背景,如下所示:
或者