From 6b2b7e623bdb258f423f0a5b23b8d4b9f22719dd Mon Sep 17 00:00:00 2001 From: Caesar2011 Date: Fri, 13 Jul 2018 14:54:10 +0200 Subject: [PATCH] Fixed NavigationView module selection --- .../main/java/de/sebse/fuplanner/MainActivity.java | 10 +++++----- .../sebse/fuplanner/services/KVV/types/Modules.java | 13 +++++++------ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/de/sebse/fuplanner/MainActivity.java b/app/src/main/java/de/sebse/fuplanner/MainActivity.java index cce05d0..0ec8d7b 100644 --- a/app/src/main/java/de/sebse/fuplanner/MainActivity.java +++ b/app/src/main/java/de/sebse/fuplanner/MainActivity.java @@ -6,6 +6,7 @@ import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentTransaction; import android.os.Bundle; import android.support.annotation.NonNull; +import android.util.Pair; import android.view.View; import android.support.design.widget.NavigationView; import android.support.v4.view.GravityCompat; @@ -238,12 +239,11 @@ public class MainActivity extends AppCompatActivity log.d("Modules.get", success.size()); //SubMenu moduleMenu = navigationView.getMenu().findItem(R.id.nav_modules).getSubMenu(); int i = 0; - for (Iterator it = success.latestSemesterIterator(); it.hasNext(); ) { - Modules.Module module = it.next(); - MenuItem menuItem = mNavigationView.getMenu().add(Menu.NONE, Menu.NONE, 101 + i, module.title); - final int finalI = i; + for (Iterator> it = success.latestSemesterIterator(); it.hasNext(); ) { + Pair module = it.next(); + MenuItem menuItem = mNavigationView.getMenu().add(Menu.NONE, Menu.NONE, 101 + i, module.first.title); menuItem.setOnMenuItemClickListener(item -> { - onModulesFragmentInteraction(finalI); + onModulesFragmentInteraction(module.second); return false; }); i++; diff --git a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java index 7db9dcb..5ac69cd 100644 --- a/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java +++ b/app/src/main/java/de/sebse/fuplanner/services/KVV/types/Modules.java @@ -2,6 +2,7 @@ package de.sebse.fuplanner.services.KVV.types; import android.content.Context; import android.support.annotation.NonNull; +import android.util.Pair; import java.io.FileInputStream; import java.io.FileOutputStream; @@ -27,8 +28,8 @@ import de.sebse.fuplanner.tools.logging.Logger; public class Modules implements Iterable, Serializable { private final SortedModuleList list; private String latestSemester = null; - private String username = null; - private transient Logger log = new Logger(this); + private String username; + //private transient Logger log = new Logger(this); private static final String FILE_NAME = "ModuleListSaving"; public Modules(String username) { @@ -107,8 +108,8 @@ public class Modules implements Iterable, Serializable { }; } - public Iterator latestSemesterIterator() { - return new Iterator() { + public Iterator> latestSemesterIterator() { + return new Iterator>() { private int index = -1; private int next = -1; @Override @@ -119,13 +120,13 @@ public class Modules implements Iterable, Serializable { } @Override - public Module next() { + public Pair next() { if (index == next) predict(); if (next == -1) return null; index = next; - return list.get(index); + return new Pair<>(list.get(index), index); } @Override