我正在尝试将一个viewPager放在DrawerLayout的listView中。实际上我希望我的侧边菜单只包含一个viewPager!这是我的抽屉adabter:
public class RightDrawerAdapter extends ArrayAdapter<DrawerBean> {
private Context mContext;
private List<DrawerBean> mItems;
public RightDrawerAdapter(Context context, List<DrawerBean> items) {
super(context, android.support.v7.appcompat.R.layout.abc_list_menu_item_layout);
this.mContext = context;
this.mItems = items;
}
@Override
public View getView(int position_item, View convertView, final ViewGroup parent) {
View view;
if(position_item == 0) {
final Drawable[] promotions = {
ContextCompat.getDrawable(mContext,R.drawable.promotion),ContextCompat.getDrawable(mContext, R.drawable.promotion)
};
Holder holder = null;
view = (View) LayoutInflater.from(mContext).inflate(R.layout.right_drawer_header, null);
holder = new Holder();
holder.viewPager_promotions = (ViewPager) view.findViewById(R.id.view_pager_promotions);
ImageAdapter adapter = new ImageAdapter(mContext,promotions);
holder.viewPager_promotions.setAdapter(adapter);
view.setTag(holder);
view.setId(position_item+1);
}else{
view = convertView;
}
return view;
}
@Override
public int getCount() {
return mItems.size() + 1;
}
}
class Holder {
ViewPager viewPager_promotions;
}
但结果是DrawerLayout打开了,它全都是空的!它里面没有任何东西。这是我的ImageAdapter:
public class ImageAdapter extends PagerAdapter {
Context context;
private Drawable[] GalImages ;
public ImageAdapter(Context context , Drawable[] imgs){
this.context=context;
this.GalImages=imgs;
}
@Override
public int getCount() {
return GalImages.length;
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view == ((ImageView) object);
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
ImageView imageView = new ImageView(context);
int padding = 0;
imageView.setPadding(padding, padding, padding, padding);
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setImageDrawable(GalImages[position]);
((ViewPager) container).addView(imageView, 0);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((ImageView) object);
}
}
请帮忙吗?