Max Yablonskyi
Max Yablonskyi

Reputation: 59

Bottom navigation view not working

My bottom navigation view not working. When i click on items my fragment in not loading.

This is my activity for bottom navigation view

public static void enableNavigation(Context context, final BottomNavigationViewEx view, final FragmentManager supportFragmentManager){
    view.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() {
        @Override
        public boolean onNavigationItemSelected(@NonNull MenuItem item) {
            Fragment fragment;
            switch (item.getItemId()){
                case R.id.nav_home:
                    fragment = new FragmentMarker();
                    loadFragment(fragment);
                    return true;
                case R.id.nav_bookmark:
                    fragment = new FragmentBookmark();
                    loadFragment(fragment);
                    return true;
                case R.id.nav_blog:
                    fragment = new FragmentBlog();
                    loadFragment(fragment);
                    return true;
                case R.id.nav_notification:
                    fragment = new FragmentNotification();
                    loadFragment(fragment);
                    return true;
            }
           return false;
        }

        private void loadFragment(Fragment fragment) {
            FragmentTransaction transaction = fragment.getFragmentManager().beginTransaction();
            transaction.replace(R.id.container, fragment);
            transaction.addToBackStack(null);
            transaction.commit();
        }
    });

 }

I`am using this library link

Upvotes: 0

Views: 1139

Answers (2)

IntelliJ Amiya
IntelliJ Amiya

Reputation: 75778

The Java break is used to switch statement. It breaks the current flow of the program at specified condition.

You miss to add break; .

DEMO STRUCTURE

 public boolean onNavigationItemSelected(@NonNull MenuItem item) {
    Fragment fragment = null;
    switch (item.getItemId()) {
        case R.id.nav_home:
            fragment = FragmentMarker();
            loadFragment(fragment);
            break;

       case R.id.nav_bookmark:
            fragment = new FragmentBookmark();
            loadFragment(fragment);
            break;
          }
       .......

Upvotes: 0

Abner Escócio
Abner Escócio

Reputation: 2785

Try

        Fragment fragment;
        boolean valToReturn = false
        switch (item.getItemId()){
            case R.id.nav_home:
                fragment = new FragmentMarker();
                valToReturn = true;
                break;
            case R.id.nav_bookmark:
                fragment = new FragmentBookmark();
                valToReturn = true;
                break;
            case R.id.nav_blog:
                fragment = new FragmentBlog();
                valToReturn = true;
                break;
            case R.id.nav_notification:
                fragment = new FragmentNotification();
                valToReturn = true;
                break;
       }
       loadFragment(fragment);
       return valToReturn;

Upvotes: 1

Related Questions