diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java | 107 | ||||
-rw-r--r-- | src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java | 12 |
2 files changed, 119 insertions, 0 deletions
diff --git a/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java new file mode 100644 index 000000000..553ba0bf6 --- /dev/null +++ b/src/de/danoeh/antennapod/activity/MiroGuideCategoryActivity.java @@ -0,0 +1,107 @@ +package de.danoeh.antennapod.activity; + +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.support.v4.app.FragmentStatePagerAdapter; +import android.support.v4.view.ViewPager; +import android.util.Log; + +import com.actionbarsherlock.app.SherlockFragmentActivity; +import com.actionbarsherlock.view.Menu; +import com.actionbarsherlock.view.MenuItem; +import com.viewpagerindicator.TabPageIndicator; + +import de.danoeh.antennapod.R; +import de.danoeh.antennapod.fragment.MiroGuideChannellistFragment; + +public class MiroGuideCategoryActivity extends SherlockFragmentActivity { + private static final String TAG = "MiroGuideCategoryActivity"; + + public static String EXTRA_CATEGORY = "category"; + + private ViewPager viewpager; + private CategoryPagerAdapter pagerAdapter; + private TabPageIndicator tabs; + + private String category; + + @Override + protected void onCreate(Bundle arg0) { + super.onCreate(arg0); + getSupportActionBar().setDisplayHomeAsUpEnabled(true); + setContentView(R.layout.miroguide_category); + + viewpager = (ViewPager) findViewById(R.id.viewpager); + tabs = (TabPageIndicator) findViewById(R.id.tabs); + + category = getIntent().getStringExtra(EXTRA_CATEGORY); + if (category != null) { + getSupportActionBar().setTitle(category); + pagerAdapter = new CategoryPagerAdapter(getSupportFragmentManager()); + viewpager.setAdapter(pagerAdapter); + tabs.setViewPager(viewpager); + } else { + Log.e(TAG, "Activity was started with invalid arguments"); + } + + } + + @Override + public boolean onCreateOptionsMenu(Menu menu) { + return true; + } + + @Override + public boolean onOptionsItemSelected(MenuItem item) { + switch (item.getItemId()) { + case android.R.id.home: + finish(); + return true; + default: + return false; + } + } + + public class CategoryPagerAdapter extends FragmentStatePagerAdapter { + + public CategoryPagerAdapter(FragmentManager fm) { + super(fm); + } + + private static final int NUM_ITEMS = 2; + private static final int POS_RATING = 0; + private static final int POS_POPULAR = 1; + + @Override + public Fragment getItem(int position) { + switch (position) { + case POS_RATING: + return MiroGuideChannellistFragment.newInstance("category", + category, "rating"); + case POS_POPULAR: + return MiroGuideChannellistFragment.newInstance("category", + category, "popular"); + default: + return null; + } + } + + @Override + public CharSequence getPageTitle(int position) { + switch (position) { + case POS_RATING: + return getString(R.string.best_rating_label); + case POS_POPULAR: + return getString(R.string.popular_label); + default: + return null; + } + } + + @Override + public int getCount() { + return NUM_ITEMS; + } + } +} diff --git a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java index 9331436a5..ff37b4e76 100644 --- a/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java +++ b/src/de/danoeh/antennapod/activity/MiroGuideMainActivity.java @@ -1,10 +1,13 @@ package de.danoeh.antennapod.activity; import android.annotation.SuppressLint; +import android.content.Intent; import android.os.AsyncTask; import android.os.Bundle; import android.util.Log; +import android.view.View; import android.widget.ArrayAdapter; +import android.widget.ListView; import android.widget.TextView; import com.actionbarsherlock.app.SherlockListActivity; @@ -49,6 +52,15 @@ public class MiroGuideMainActivity extends SherlockListActivity { } } + @Override + protected void onListItemClick(ListView l, View v, int position, long id) { + super.onListItemClick(l, v, position, id); + String selection = listAdapter.getItem(position); + Intent launchIntent = new Intent(this, MiroGuideCategoryActivity.class); + launchIntent.putExtra(MiroGuideCategoryActivity.EXTRA_CATEGORY, selection); + startActivity(launchIntent); + } + private void createAdapter() { if (categories != null) { listAdapter = new ArrayAdapter<String>(this, |