From f92c784039c064ba423ada47e9600ec3c5bd83a2 Mon Sep 17 00:00:00 2001 From: Salman Date: Sat, 5 Jan 2019 16:50:49 +0330 Subject: [PATCH] [*] extract adapter class from main activity --- .../activities/MainActivity.java | 48 +++---------------- .../adapters/FragmentsAdapter.java | 41 ++++++++++++++++ 2 files changed, 47 insertions(+), 42 deletions(-) create mode 100644 app/src/main/java/com/danielkim/soundrecorder/adapters/FragmentsAdapter.java diff --git a/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java b/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java index a2e6bde7..eb744ef6 100644 --- a/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java +++ b/app/src/main/java/com/danielkim/soundrecorder/activities/MainActivity.java @@ -1,12 +1,7 @@ package com.danielkim.soundrecorder.activities; import android.content.Intent; -import android.content.SharedPreferences; import android.os.Bundle; -import android.preference.PreferenceManager; -import android.support.v4.app.Fragment; -import android.support.v4.app.FragmentManager; -import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.ActionBarActivity; import android.support.v7.widget.Toolbar; @@ -15,12 +10,10 @@ import com.astuetz.PagerSlidingTabStrip; import com.danielkim.soundrecorder.R; -import com.danielkim.soundrecorder.fragments.FileViewerFragment; -import com.danielkim.soundrecorder.fragments.LicensesFragment; -import com.danielkim.soundrecorder.fragments.RecordFragment; +import com.danielkim.soundrecorder.adapters.FragmentsAdapter; -public class MainActivity extends ActionBarActivity{ +public class MainActivity extends ActionBarActivity { private static final String LOG_TAG = MainActivity.class.getSimpleName(); @@ -32,8 +25,11 @@ protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); + String[] titles = {getString(R.string.tab_title_record), + getString(R.string.tab_title_saved_recordings)}; + pager = (ViewPager) findViewById(R.id.pager); - pager.setAdapter(new MyAdapter(getSupportFragmentManager())); + pager.setAdapter(new FragmentsAdapter(getSupportFragmentManager(), titles)); tabs = (PagerSlidingTabStrip) findViewById(R.id.tabs); tabs.setViewPager(pager); @@ -67,38 +63,6 @@ public boolean onOptionsItemSelected(MenuItem item) { } } - public class MyAdapter extends FragmentPagerAdapter { - private String[] titles = { getString(R.string.tab_title_record), - getString(R.string.tab_title_saved_recordings) }; - - public MyAdapter(FragmentManager fm) { - super(fm); - } - - @Override - public Fragment getItem(int position) { - switch(position){ - case 0:{ - return RecordFragment.newInstance(position); - } - case 1:{ - return FileViewerFragment.newInstance(position); - } - } - return null; - } - - @Override - public int getCount() { - return titles.length; - } - - @Override - public CharSequence getPageTitle(int position) { - return titles[position]; - } - } - public MainActivity() { } } diff --git a/app/src/main/java/com/danielkim/soundrecorder/adapters/FragmentsAdapter.java b/app/src/main/java/com/danielkim/soundrecorder/adapters/FragmentsAdapter.java new file mode 100644 index 00000000..8924e3fc --- /dev/null +++ b/app/src/main/java/com/danielkim/soundrecorder/adapters/FragmentsAdapter.java @@ -0,0 +1,41 @@ +package com.danielkim.soundrecorder.adapters; + +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentPagerAdapter; + +import com.danielkim.soundrecorder.fragments.FileViewerFragment; +import com.danielkim.soundrecorder.fragments.RecordFragment; + +public class FragmentsAdapter extends FragmentPagerAdapter { + + private String[] mTitles; + + public FragmentsAdapter(FragmentManager fm, String[] titles) { + super(fm); + this.mTitles = titles; + } + + @Override + public Fragment getItem(int position) { + switch (position) { + case 0: { + return RecordFragment.newInstance(position); + } + case 1: { + return FileViewerFragment.newInstance(position); + } + } + return null; + } + + @Override + public int getCount() { + return mTitles != null ? mTitles.length : 0; + } + + @Override + public CharSequence getPageTitle(int position) { + return mTitles[position]; + } +} \ No newline at end of file