X-Git-Url: http://git.pk910.de/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2FNavigationManager.java;fp=app%2Fsrc%2Fmain%2Fjava%2Fde%2Fdhbwloe%2Fcampusapp%2FNavigationManager.java;h=073bf190bab359bda77f0c1fd2c33ed42840e275;hb=424a4c7c41d015392a4984ef0eab35de507da39c;hp=ed339dd8a6b10cad42f64815ebf234ccd8de9f2b;hpb=c4e0d3507469d88f6cd210a8dacb23289daeeca3;p=DHBWCampusApp.git diff --git a/app/src/main/java/de/dhbwloe/campusapp/NavigationManager.java b/app/src/main/java/de/dhbwloe/campusapp/NavigationManager.java index ed339dd..073bf19 100644 --- a/app/src/main/java/de/dhbwloe/campusapp/NavigationManager.java +++ b/app/src/main/java/de/dhbwloe/campusapp/NavigationManager.java @@ -16,6 +16,7 @@ package de.dhbwloe.campusapp; import android.os.Bundle; +import android.support.design.widget.NavigationView; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentTransaction; @@ -53,13 +54,15 @@ public class NavigationManager { // Container ID private int iFragmentContainerId; + private int iNavigationViewId; // Alle registrierte Fragmente mit Name private ArrayList lNavigationPages = new ArrayList(); - public NavigationManager(CampusAppContext context, int fragmentContainer) { + public NavigationManager(CampusAppContext context, int fragmentContainer, int navigationView) { AppContext = context; iFragmentContainerId = fragmentContainer; + iNavigationViewId = navigationView; oCurrentPage = null; } @@ -152,6 +155,8 @@ public class NavigationManager { oCurrentPage = page; oCurrentFragment = fragment; + updateNavigationHighlight(); + transaction.commit(); } @@ -225,4 +230,22 @@ public class NavigationManager { return closeDialog(); } + private void updateNavigationHighlight() { + NavigationView navigationView = (NavigationView) AppContext.getMainActivity().findViewById(iNavigationViewId); + + if(oCurrentPage == null) + return; + + int activeItemId = 0; + for(CampusAppContext.NavigationItem navitem : AppContext.NAVIGATION_TARGETS) { + if(oCurrentPage.name.equalsIgnoreCase(navitem.navTarget)) { + activeItemId = navitem.navItemId; + } + } + if(activeItemId == 0) + return; + + navigationView.setCheckedItem(activeItemId); + } + }