Example usage for android.support.v4.view PagerAdapter instantiateItem

List of usage examples for android.support.v4.view PagerAdapter instantiateItem

Introduction

In this page you can find the example usage for android.support.v4.view PagerAdapter instantiateItem.

Prototype

public Object instantiateItem(View container, int position) 

Source Link

Document

Create the page for the given position.

Usage

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);
}