片段中的底部导航视图仅在单击后显示

时间:2019-08-21 10:03:20

标签: android android-fragmentactivity

我在Fragment内有一个底部导航视图,我需要的帮助是,当我打开“ mainfragment”时,我希望第一个底部导航视图显示正确,我必须单击或导航以查看ui显示,谢谢!

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

        new EuropeFragment();

    BottomNavigationView bottomNavigationView = rootView.findViewById(R.id.bottom_navigation);
    bottomNavigationView.setOnNavigationItemSelectedListener(navListener);
    return rootView;
}


private BottomNavigationView.OnNavigationItemSelectedListener navListener =
        new BottomNavigationView.OnNavigationItemSelectedListener() {
            @Override
            public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
                Fragment selectedFragment = null;

                switch (menuItem.getItemId()) {
                    case R.id.nav_europe:
                        selectedFragment = new EuropeFragment();
                        break;
                    case R.id.nav_asia:
                        selectedFragment = new AsiaFragment();
                        break;
                    case R.id.nav_africa:
                        selectedFragment = new AfricaFragment();
                        break;
                    case R.id.nav_america:
                        selectedFragment = new AmericaFragment();
                        break;
                    case R.id.nav_oceania:
                        selectedFragment = new OceaniaFragment();
                        break;

                }
                FragmentTransaction transaction = getActivity().getSupportFragmentManager().beginTransaction();
                transaction.replace(R.id.fragment_container, selectedFragment);
                transaction.commit();
                return true;
            }

1 个答案:

答案 0 :(得分:0)

首先没有设置您的主要片段。在navListener中的onNavigationItemSelected()方法内,您已在容器中设置了选定的片段。但是最初,您没有设置任何东西。因此,在Activity类中,您需要使用片段事务代码来设置main_fragment。