【问题标题】:In Bottom Navigation Fragment is not load for first time在底部导航片段不是第一次加载
【发布时间】:2022-12-10 02:00:50
【问题描述】:

我在 Bottom_Navigation_view 的主要活动中有五个片段。当我第一次加载片段/MainActivity 时。第一个片段(家)第一次没有显示,当我滑动到其他三个片段然后回到我的第一个片段(家)然后显示数据/片段

我想在用户第一次来时加载第一个片段(主页)并加载底部导航/主活动

    //Bottom Navigation's
    BottomNavigationView bnv =findViewById(R.id.bottom_nav);
    bnv.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            int id=item.getItemId();
            if (id == R.id.home) {
               loadfrag(new Home(),false);
            }else  if (id == R.id.search) {
                loadfrag(new search(),true);
            }else  if (id == R.id.Fav) {
                loadfrag(new fav(),true);
            }else  if (id == R.id.Cart) {
                loadfrag(new Cart(),true);
            }else  if (id == R.id.User) {
                loadfrag(new Userprofile(),true);
            }
            return true;
        }
    });
//My first fragment
bnv.setSelectedItemId(R.id.home);
}
//load_fragment method
public void loadfrag(Fragment fragment,Boolean flag){
    FragmentManager fm=getSupportFragmentManager();
    FragmentTransaction ft=fm.beginTransaction();
    if (!flag) {
        ft.add(R.id.container,fragment);
    }else {
        ft.replace(R.id.container,fragment);
    }
    ft.commit();
}

【问题讨论】:

  • 我建议您使用导航组件实现 bottomnavigation。管理它的多个片段和堆栈将变得非常容易

标签: java android android-fragments fragment bottomnavigationview


【解决方案1】:

错过一条默认线路后试试这个

loadfrag(新家(),假);

//Bottom Navigation's
    BottomNavigationView bnv =findViewById(R.id.bottom_nav);
    bnv.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            int id=item.getItemId();
            if (id == R.id.home) {
               loadfrag(new Home(),false);
            }else  if (id == R.id.search) {
                loadfrag(new search(),true);
            }else  if (id == R.id.Fav) {
                loadfrag(new fav(),true);
            }else  if (id == R.id.Cart) {
                loadfrag(new Cart(),true);
            }else  if (id == R.id.User) {
                loadfrag(new Userprofile(),true);
            }
            return true;
        }
    });
   loadfrag(new Home(),false);
//My first fragment
bnv.setSelectedItemId(R.id.home);
}
//load_fragment method
public void loadfrag(Fragment fragment,Boolean flag){
    FragmentManager fm=getSupportFragmentManager();
    FragmentTransaction ft=fm.beginTransaction();
    if (!flag) {
        ft.add(R.id.container,fragment);
    }else {
        ft.replace(R.id.container,fragment);
    }
    ft.commit();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-10
    相关资源
    最近更新 更多