【发布时间】:2016-10-12 05:16:13
【问题描述】:
我正在使用 viewpager 显示可绘制文件夹中的图像 图片命名为: a1 a2 一个3... 到a700 所以我使用这段代码来获取 viewpager 中的所有图像
mImages=new int[700];
for (int i = 0; i < 700; i++) {
mImages[i] = getResources()
.getIdentifier("a"+i, "drawable", getPackageName()); }
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
它工作正常并显示所有图像 但是当我使用此代码时,viewpager 中没有第一张图片 第一个图像出现在第一次浏览器滑动后 为什么? 如何在 viewpager 中从 a1 开始
这是适配器
private class ImagePagerAdapter extends PagerAdapter {
@Override
public int getCount() {
return mImages.length;
}
public int getImageId(int pos){return mImages[pos];}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
Context context = MainActivity.this;
final TouchImageView imageView = new TouchImageView(context);
int padding = context.getResources().getDimensionPixelSize(
R.dimen.padding_medium);
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
imageView.setImageResource(mImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
我在 mainactivity 中使用了这个角色
public class MainActivity extends Activity {
ViewPager viewPager;
public int[] mImages = new int[]{
R.drawable.startpic};
【问题讨论】:
-
从 1 开始循环到
-
不工作我试试
-
@Vij 对于
int[700]应该是< 700 -
为什么不能使用
position变量来获取适配器中的资源?我们可以看看适配器类吗? -
好的,我会复制它