diff options
author | Andrew Dolgov <[email protected]> | 2015-06-10 12:16:51 +0300 |
---|---|---|
committer | Andrew Dolgov <[email protected]> | 2015-06-10 12:16:51 +0300 |
commit | 236080a67e648ce99b23000ca9e86a333cbab76a (patch) | |
tree | fb09a286541b471a2eb17603ee0a7a38981fe598 /org.fox.ttcomics | |
parent | 2f4fdfb38d7a33c1ecdec781af001bd337f299b7 (diff) |
browse directories by replacing list fragments instead of activities (2)
Diffstat (limited to 'org.fox.ttcomics')
3 files changed, 27 insertions, 14 deletions
diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java index 212656c..38a9371 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/ComicListFragment.java @@ -54,7 +54,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { private final static int MODE_UNFINISHED = 2; private final static int MODE_READ = 3; - private CommonActivity m_activity; + private MainActivity m_activity; private SharedPreferences m_prefs; private ComicsListAdapter m_adapter; private int m_mode = 0; @@ -298,7 +298,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { } }); - grid.setEmptyView(view.findViewById(R.id.no_comics)); + //grid.setEmptyView(view.findViewById(R.id.no_comics)); grid.setOnItemClickListener(this); registerForContextMenu(grid); @@ -385,7 +385,7 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { public void onAttach(Activity activity) { super.onAttach(activity); - m_activity = (CommonActivity)activity; + m_activity = (MainActivity)activity; m_prefs = PreferenceManager.getDefaultSharedPreferences(activity.getApplicationContext()); } @@ -510,16 +510,18 @@ public class ComicListFragment extends Fragment implements OnItemClickListener { @Override public void onResume() { super.onResume(); - - m_adapter.notifyDataSetChanged(); - + + if (m_activity.getMode() != m_mode) { + m_mode = m_activity.getMode(); + } + String comicsDir = m_prefs.getString("comics_directory", ""); if (m_activity.getCachedItemCount(m_baseDirectory.length() > 0 ? m_baseDirectory : comicsDir) == 0) { rescan(false); } else { - m_adapter.notifyDataSetChanged(); - } + updateWithoutRescan(); + } } public void onItemClick(AdapterView<?> av, View view, int position, long id) { diff --git a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java index bc0df31..5566a2f 100644 --- a/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java +++ b/org.fox.ttcomics/src/main/java/org/fox/ttcomics2/MainActivity.java @@ -134,7 +134,11 @@ public class MainActivity extends CommonActivity implements MaterialTabListener out.putInt("selectedTab", m_selectedTab); //out.putString("baseDir", m_baseDirectory); } - + + public int getMode() { + return m_selectedTab; + } + public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: @@ -224,12 +228,19 @@ public class MainActivity extends CommonActivity implements MaterialTabListener if (m_selectedTab != tab.getPosition() && m_selectedTab != -1) { - ComicListFragment frag = new ComicListFragment(); - frag.setMode(tab.getPosition()); + //ComicListFragment frag = new ComicListFragment(); + //frag.setMode(tab.getPosition()); //frag.setBaseDirectory(m_baseDirectory); - sft.replace(R.id.comics_list, frag, FRAG_COMICS_LIST); + //sft.replace(R.id.comics_list, frag, FRAG_COMICS_LIST); + + ComicListFragment frag = (ComicListFragment) getSupportFragmentManager().findFragmentByTag(FRAG_COMICS_LIST); + + if (frag != null && frag.isAdded()) { + frag.setMode(tab.getPosition()); + frag.updateWithoutRescan(); + } } m_selectedTab = tab.getPosition(); diff --git a/org.fox.ttcomics/src/main/res/layout/fragment_comics_list.xml b/org.fox.ttcomics/src/main/res/layout/fragment_comics_list.xml index 4fb0cf4..4fb8544 100644 --- a/org.fox.ttcomics/src/main/res/layout/fragment_comics_list.xml +++ b/org.fox.ttcomics/src/main/res/layout/fragment_comics_list.xml @@ -18,7 +18,7 @@ </GridView> </android.support.v4.widget.SwipeRefreshLayout> - <LinearLayout + <!-- <LinearLayout android:id="@+id/no_comics" android:layout_width="match_parent" android:layout_height="match_parent" @@ -31,7 +31,7 @@ android:layout_height="wrap_content" android:layout_gravity="center" android:text="@string/error_no_comic_archives_found_" /> - </LinearLayout> + </LinearLayout> --> <com.shamanland.fab.FloatingActionButton android:id="@+id/fab" |