我正在使用Picasso + Viewpager创建一个图片轮播。
我能够根据图片的数量进行滑动。
但是尽管我可以滑动屏幕,没有任何图像被加载。
我的代码有什么问题?
在我的主类中,
我获取我的图片链接。
然后设置适配器如下。
viewPager = (ViewPager)findViewById(R.id.view_pager);
viewPagerAdapter = new ViewPagerAdapter(MainActivity.this,IMAGES);
viewPager.setAdapter(viewPagerAdapter);
IMAGES=链接数组(用于图片)。
我的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>
这里我声明了我的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>
并且对于我的适配器...
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;
/**
* Created by Galvez on 11/9/2015.
*/
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;
}
}