From 4c012ed2ba31807a8a8351b6e9d816356ff202a2 Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Wed, 21 Nov 2018 17:53:49 +0100 Subject: [PATCH] Fixed NullPointerException --- .../java/de/sebse/fuplanner/MainActivity.java | 31 +++++++++++-------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index 732f219..89b09d9 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -16,7 +16,6 @@ import org.jetbrains.annotations.NotNull; import java.util.HashMap; import java.util.Iterator; import java.util.Locale; -import java.util.zip.Inflater; import androidx.annotation.NonNull; import androidx.annotation.StringRes; @@ -407,7 +406,7 @@ public class MainActivity extends AppCompatActivity } private void setNavigationSelection() { - MenuItem item; + MenuItem item = null; switch (mFragmentPage) { case FRAGMENT_MODULES_DETAILS: getKVV().modules().list().find(mFragmentData, success -> { @@ -415,19 +414,19 @@ public class MainActivity extends AppCompatActivity //noinspection ConstantConditions String title = success == null ? null : success.title; for (int k = 0; k < size; k++) { - mNavigationView.getMenu().getItem(k).setChecked(mNavigationView.getMenu().getItem(k).getTitle().equals(title)); + MenuItem menuItem = mNavigationView.getMenu().getItem(k); + if (menuItem.getTitle().equals(title)) { + menuItem.setChecked(true); + break; + } } }, log::e); - break; + return; case FRAGMENT_MODULES: item = mNavigationView.getMenu().findItem(R.id.nav_modules); - if (item != null) - item.setChecked(true); break; case FRAGMENT_SCHEDULE: item = mNavigationView.getMenu().findItem(R.id.nav_schedule); - if (item != null) - item.setChecked(true); break; case FRAGMENT_CANTEENS_DETAILS: getCanteenBrowser().getCanteens(success -> { @@ -436,22 +435,28 @@ public class MainActivity extends AppCompatActivity //noinspection ConstantConditions String title = canteen == null ? null : canteen.getName(); for (int k = 0; k < size; k++) { - mNavigationView.getMenu().getItem(k).setChecked(mNavigationView.getMenu().getItem(k).getTitle().equals(title)); + MenuItem menuItem = mNavigationView.getMenu().getItem(k); + if (menuItem.getTitle().equals(title)) { + menuItem.setChecked(true); + break; + } } }, log::e); - break; + return; case FRAGMENT_CANTEENS: - mNavigationView.getMenu().findItem(R.id.nav_canteens).setChecked(true); + item = mNavigationView.getMenu().findItem(R.id.nav_canteens); break; case FRAGMENT_NEWS: - mNavigationView.getMenu().findItem(R.id.nav_news).setChecked(true); + item = mNavigationView.getMenu().findItem(R.id.nav_news); break; case FRAGMENT_PREFERENCES: - mNavigationView.getMenu().findItem(R.id.nav_settings).setChecked(true); + item = mNavigationView.getMenu().findItem(R.id.nav_settings); break; default: // FRAGMENT_STARTUP / FRAGMENT_LOGIN break; } + if (item != null) + item.setChecked(true); } private void setNavigationHeader(boolean isLoggedIn) {