List of usage examples for android.support.v4.view PagerAdapter instantiateItem
public Object instantiateItem(View container, int position)
From source file:org.mariotaku.twidere.activity.MediaViewerActivity.java
@Override public boolean onOptionsItemSelected(MenuItem item) { final ViewPager viewPager = findViewPager(); final PagerAdapter adapter = viewPager.getAdapter(); final int currentItem = viewPager.getCurrentItem(); if (currentItem < 0 || currentItem >= adapter.getCount()) return false; final Object object = adapter.instantiateItem(viewPager, currentItem); if (!(object instanceof MediaViewerFragment)) return false; switch (item.getItemId()) { case R.id.refresh: { if (object instanceof CacheDownloadMediaViewerFragment) { final CacheDownloadMediaViewerFragment fragment = (CacheDownloadMediaViewerFragment) object; fragment.startLoading(true); fragment.showProgress(true, 0); fragment.setMediaViewVisible(false); }//from ww w . java2 s . c om return true; } case R.id.share: { if (object instanceof CacheDownloadMediaViewerFragment) { requestAndShareMedia(currentItem); } else { final ParcelableMedia media = getMedia()[currentItem]; final Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("text/plain"); intent.putExtra(Intent.EXTRA_TEXT, media.url); startActivity(Intent.createChooser(intent, getString(R.string.share))); } return true; } case R.id.save: { requestAndSaveToStorage(currentItem); return true; } case R.id.open_in_browser: { final ParcelableMedia media = getMedia()[currentItem]; try { final Uri uri = Uri.parse(media.url); final Intent intent = new Intent(Intent.ACTION_VIEW, uri); intent.addCategory(Intent.CATEGORY_BROWSABLE); intent.setPackage(IntentUtils.getDefaultBrowserPackage(this, uri, true)); startActivity(intent); } catch (ActivityNotFoundException e) { // TODO show error, or improve app url } return true; } case android.R.id.home: { finish(); return true; } } return super.onOptionsItemSelected(item); }