Home | History | Annotate | Download | only in viewpager
      1 package com.davemorrissey.labs.subscaleview.test.viewpager;
      2 
      3 import android.os.Bundle;
      4 import android.support.annotation.NonNull;
      5 import android.support.v4.app.Fragment;
      6 import android.view.LayoutInflater;
      7 import android.view.View;
      8 import android.view.ViewGroup;
      9 
     10 import com.davemorrissey.labs.subscaleview.ImageSource;
     11 import com.davemorrissey.labs.subscaleview.SubsamplingScaleImageView;
     12 import com.davemorrissey.labs.subscaleview.test.R.id;
     13 import com.davemorrissey.labs.subscaleview.test.R.layout;
     14 
     15 public class ViewPagerFragment extends Fragment {
     16 
     17     private static final String BUNDLE_ASSET = "asset";
     18 
     19     private String asset;
     20 
     21     public ViewPagerFragment() {
     22     }
     23 
     24     public void setAsset(String asset) {
     25         this.asset = asset;
     26     }
     27 
     28     @Override
     29     public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
     30         View rootView = inflater.inflate(layout.view_pager_page, container, false);
     31 
     32         if (savedInstanceState != null) {
     33             if (asset == null && savedInstanceState.containsKey(BUNDLE_ASSET)) {
     34                 asset = savedInstanceState.getString(BUNDLE_ASSET);
     35             }
     36         }
     37         if (asset != null) {
     38             SubsamplingScaleImageView imageView = rootView.findViewById(id.imageView);
     39             imageView.setImage(ImageSource.asset(asset));
     40         }
     41 
     42         return rootView;
     43     }
     44 
     45     @Override
     46     public void onSaveInstanceState(@NonNull Bundle outState) {
     47         super.onSaveInstanceState(outState);
     48         View rootView = getView();
     49         if (rootView != null) {
     50             outState.putString(BUNDLE_ASSET, asset);
     51         }
     52     }
     53 
     54 }
     55