Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.modelalliance.ma.ui.photo;
- import android.support.v4.view.PagerAdapter;
- import android.support.v4.view.ViewPager;
- import android.support.v7.app.ActionBarActivity;
- import android.view.Menu;
- import android.view.MenuItem;
- import android.view.View;
- import android.view.ViewGroup;
- import android.webkit.WebView;
- import com.androidquery.AQuery;
- import com.modelalliance.ma.App;
- import com.modelalliance.ma.R;
- import com.modelalliance.ma.api.Photo;
- import com.modelalliance.ma.api.UserBean;
- import com.modelalliance.ma.ui.login.ApiHelper;
- import org.androidannotations.annotations.AfterViews;
- import org.androidannotations.annotations.Bean;
- import org.androidannotations.annotations.EActivity;
- import org.androidannotations.annotations.Extra;
- import org.androidannotations.annotations.OptionsItem;
- import org.androidannotations.annotations.OptionsMenu;
- import org.androidannotations.annotations.OptionsMenuItem;
- import org.androidannotations.annotations.ViewById;
- import java.util.List;
- import static com.modelalliance.ma.api.UserBean.RemovePhotoCallback;
- /**
- * Created by egslava on 17/12/14.
- */
- @EActivity(R.layout.activity_photos_view_pager)
- @OptionsMenu(R.menu.menu_actionbar_photos_viewpager)
- public class ViewPagerPhotosActivity extends ActionBarActivity implements ViewPager.OnPageChangeListener {
- // @Extra String[] images = new String[]{
- // "http://buymelaughs.com/wp-content/uploads/2013/12/Funny-memes-14.jpg",
- // "http://www.newyorker.com/wp-content/uploads/2014/08/Stokes-Hello-Kitty2-1200.jpg",
- // "http://i.guim.co.uk/static/w-620/h--/q-95/sys-images/Guardian/Pix/pictures/2014/8/28/1409228901360/de6aa8da-3f82-4069-9807-0e83513dad05-620x620.jpeg",
- // };
- @Extra int currentImage = 1;
- @Extra boolean removable = false;
- @OptionsMenuItem MenuItem removePhoto;
- @Bean ApiHelper api;
- @Bean UserBean user;
- private PhotoAdapter adapter;
- List<Photo> images;
- @OptionsItem void removePhoto(){
- user.removePhotoInBackground(this, currentImage, new RemovePhotoCallback() {
- public void onRemove(List<Photo> newPhotos, int oldPhotoIndex, int newPhotoIndex) {
- images = newPhotos;
- currentImage = newPhotoIndex;
- init();
- }
- });
- }
- @ViewById ViewPager viewPager;
- private AQuery aq;
- @AfterViews
- void init(){
- if (images == null){
- images = (List<Photo>) App.parseList;
- App.parseList = null;
- }
- if (images.size() < 1){
- finish();
- }
- getSupportActionBar().setDisplayHomeAsUpEnabled(true);
- adapter = new PhotoAdapter();
- viewPager.setAdapter(adapter);
- viewPager.setOnPageChangeListener(this);
- viewPager.setCurrentItem(currentImage);
- onPageSelected(currentImage);
- // getSupportActionBar().setTitle( getString(R.string.title_activity_photos, currentImage, images.length) );
- aq = new AQuery(this);
- }
- @Override public boolean onCreateOptionsMenu(Menu menu) {
- removePhoto.setVisible(removable);
- return super.onCreateOptionsMenu(menu);
- }
- @Override public boolean onOptionsItemSelected(MenuItem item) {
- if (item.getItemId() == android.R.id.home) {
- finish();
- }
- return super.onOptionsItemSelected(item);
- }
- @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {}
- @Override public void onPageScrollStateChanged(int state) {}
- @Override public void onPageSelected(int position) {
- getSupportActionBar().setTitle( getString(R.string.title_activity_photos, position + 1, images.size()) );
- }
- class PhotoAdapter extends PagerAdapter{
- @Override
- public Object instantiateItem(ViewGroup container, int position) {
- WebView webView = new WebView(ViewPagerPhotosActivity.this);
- ViewPager.LayoutParams params = new ViewPager.LayoutParams();
- params.width = ViewPager.LayoutParams.MATCH_PARENT;
- params.height = ViewPager.LayoutParams.MATCH_PARENT;
- webView.setLayoutParams(params);
- ((ViewPager)container).addView(webView, 0);
- aq.id(webView).webImage(images.get(position).getPhoto().getUrl());
- return webView;
- }
- @Override
- public void destroyItem(ViewGroup container, int position, Object view) {
- ((ViewPager)container).removeView((View)view);
- }
- @Override
- public boolean isViewFromObject(View view, Object object) {
- return view != null && view.equals(object);
- }
- @Override
- public int getCount() {
- return images.size();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement