我正在使用viewpager来显示drawable文件夹中的图像 图片命名为: A1 a2 A3 ... 到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 swip之后 为什么? 如何从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中使用这个cose
public class MainActivity extends Activity {
ViewPager viewPager;
public int[] mImages = new int[]{
R.drawable.startpic};
答案 0 :(得分:0)
尝试
mImages=new int[700];
for (int i = 0; i < 700; i++) {
mImages[i] = getResources()
.getIdentifier("a"+ (i + 1), "drawable", getPackageName()); }
ImagePagerAdapter adapter = new ImagePagerAdapter();
viewPager.setAdapter(adapter);
您没有名为a0的图像,因此请确保您没有从a0开始。根据你目前的逻辑,我认为你最后也会丢失a700(你的for循环只会在我699时)。