所以,这是我的pageradapter的代码:
public class AndroidImageAdapter extends PagerAdapter {
Context mContext;
AndroidImageAdapter(Context context) {
this.mContext = context;
}
@Override
public int getCount() {
return sliderImagesId.length;
}
public int[] getSliderImagesId() {
return sliderImagesId;
}
public void setSliderImagesId(int[] sliderImagesId) {
this.sliderImagesId = sliderImagesId;
}
public int[] sliderImagesId = new int[]{
R.drawable.ic_account, R.drawable.ic_add_location_black_24dp,
R.drawable.ic_directions_bus_blue_24dp
};
@Override
public boolean isViewFromObject(View v, Object obj) {
return v == ((ImageView) obj);
}
@Override
public Object instantiateItem(ViewGroup container, int i) {
ImageView mImageView = new ImageView(mContext);
mImageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
mImageView.setImageResource(sliderImagesId[i]);
((ViewPager) container).addView(mImageView, 0);
return mImageView;
}
@Override
public void destroyItem(ViewGroup container, int i, Object obj) {
((ViewPager) container).removeView((ImageView) obj);
}
}
我想知道如何添加更多图像视图或更改pageadapter创建的现有图像视图的图像。我已经尝试过使用ViewPager.addView("一些新的imageview")但没有发生任何事情。我可以找到这样的情况。你能帮帮我吗?
答案 0 :(得分:0)
做两件事:
(1)通过添加或删除数据来更改数据。由于您正在为sliderImagesId
使用int []数组,因此您已再次声明并初始化整个数组。例如,考虑使用类似ArrayList
的集合。然后你可以这样做:sliderList.add(R.drawable.newSlide)
。
(2)致电adapter.notifyDataSetChanged()
。它告诉适配器它的数据已经改变。就是这样。