From e8b730d078208c1e1f446d8726243b17d646750b Mon Sep 17 00:00:00 2001 From: fkloft Date: Wed, 18 Sep 2013 18:32:08 +0200 Subject: [PATCH] And another bugfix (Exception thrown when listview hidden) - thanks @leCradle --- .../iitc_mobile/IITC_ActionBarHelper.java | 37 ++++++++++--------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/mobile/src/com/cradle/iitc_mobile/IITC_ActionBarHelper.java b/mobile/src/com/cradle/iitc_mobile/IITC_ActionBarHelper.java index fe9f8bbe..01b6ebe7 100644 --- a/mobile/src/com/cradle/iitc_mobile/IITC_ActionBarHelper.java +++ b/mobile/src/com/cradle/iitc_mobile/IITC_ActionBarHelper.java @@ -8,19 +8,17 @@ import android.widget.ArrayAdapter; import android.widget.Toast; public class IITC_ActionBarHelper implements OnNavigationListener { - /* - * Show/hide the up arrow on the left end - * getActionBar().setDisplayHomeAsUpEnabled(enabled); - * - * Show/hide the activity icon/logo - * getActionBar().setDisplayShowHomeEnabled(enabled); - * - * Show/hide the activity title - * getActionBar().setDisplayShowTitleEnabled(enabled); - * - * Makes the icon/title clickable - * getActionBar().setHomeButtonEnabled(enabled); - */ + // Show/hide the up arrow on the very left + // getActionBar().setDisplayHomeAsUpEnabled(enabled); + + // Show/hide the activity icon/logo + // getActionBar().setDisplayShowHomeEnabled(enabled); + + // Show/hide the activity title + // getActionBar().setDisplayShowTitleEnabled(enabled); + + // Makes the icon/title clickable + // getActionBar().setHomeButtonEnabled(enabled); private class HighlighterAdapter extends ArrayAdapter { public HighlighterAdapter() { @@ -90,9 +88,10 @@ public class IITC_ActionBarHelper implements OnNavigationListener { if (showHighlighter) { mActionBar.setDisplayShowTitleEnabled(false); // Hide title mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST); + setActiveHighlighter(mActiveHighlighter); } else { - mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); mActionBar.setDisplayShowTitleEnabled(true); // Show title + mActionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD); } if (mFullscreen && mHideInFullscreen) mActionBar.hide(); @@ -133,11 +132,13 @@ public class IITC_ActionBarHelper implements OnNavigationListener { } public void setActiveHighlighter(String name) { - int position = mHighlighters.getPosition(name); - if (position >= 0) - mActionBar.setSelectedNavigationItem(position); - mActiveHighlighter = name; + + if (mActionBar.getNavigationMode() == ActionBar.NAVIGATION_MODE_LIST) { + int position = mHighlighters.getPosition(mActiveHighlighter); + if (position >= 0 && position < mActionBar.getNavigationItemCount()) + mActionBar.setSelectedNavigationItem(position); + } } public void setFullscreen(boolean fullscreen) {