diff options
author | daniel oeh <daniel.oeh@gmail.com> | 2012-08-03 12:08:48 +0200 |
---|---|---|
committer | daniel oeh <daniel.oeh@gmail.com> | 2012-08-03 12:08:48 +0200 |
commit | 1b347032d48890f620cf7b08436790d40b20a494 (patch) | |
tree | b180d66c06dcc3658c5c5741a2b5601f384968e1 /src | |
parent | 941154704b8d6576d2868ab216a906469e841ecb (diff) | |
download | AntennaPod-1b347032d48890f620cf7b08436790d40b20a494.zip |
Added activity for viewing a specific miroguide category
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, |