I am creating an image slider using Picasso + Viewpager.
I can drag the slider to fit the image (number).
But the images were not uploaded so I could scroll the screen.
What is wrong with my codes?
In my MainActivity, I get links to my images.
then install the adapter.
viewPager = (ViewPager)findViewById(R.id.view_pager); viewPagerAdapter = new ViewPagerAdapter(MainActivity.this,IMAGES); viewPager.setAdapter(viewPagerAdapter);
IMAGES = Arrays of links (for images).
My ImagePager_layout.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <ImageView android:id="@+id/img" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="2dp" android:background="@drawable/plusbtn"/> </RelativeLayout>
And so I announced my ViewPager ..
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:background="#000"> <android.support.v4.view.ViewPager android:id="@+id/view_pager" android:layout_width="match_parent" android:layout_height="wrap_content"></android.support.v4.view.ViewPager> </LinearLayout>
And for my adapter.
package com.thesis.juandirection.picasso; import android.content.Context; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.view.LayoutInflater; import android.view.View; import android.widget.ImageView; import android.support.v4.view.ViewPager; import com.squareup.picasso.Picasso; import java.util.ArrayList; public class ViewPagerAdapter extends PagerAdapter { private Context context; private ArrayList<String> IMAGES = new ArrayList<>(); public ViewPagerAdapter(Context context, ArrayList<String> IMAGES) { this.IMAGES = IMAGES; this.context = context; } @Override public int getCount() { return IMAGES.size(); } @Override public void destroyItem(View arg0, int arg1, Object arg2) { ((ViewPager) arg0).removeView((View) arg2); } @Override public boolean isViewFromObject(View view, Object object) { return false; } @Override public Parcelable saveState() { return null; } @Override public Object instantiateItem(View collection, int position) { LayoutInflater inflater = (LayoutInflater) collection.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.imagepager_layout,null); ((ViewPager) collection).addView(view); final ImageView img = (ImageView) view.findViewById(R.id.img); Picasso.with(context) .load(IMAGES.get(position)) .placeholder(R.drawable.plusbtn) .centerCrop() .fit() .into(img); return view; } }
source share