[英]How to set data in viewpager?
在这里,在此viewpageradapter类用于设置json数据时,如何在viewpager中设置数据。 我可以尝试实现,但我不知道如何实现这一目标。
public class ViewPagerAdaptor extends PagerAdapter {
Context context;
ImageView imageView;
TextView tv_date;
TextView tv_content;
LayoutInflater inflater;
ArrayList<Model> arrayList;
public ViewPagerAdaptor(Context context, ArrayList<Model> arrayList) {
this.context = context;
this.arrayList = arrayList;
}
@Override
public int getCount() {
return arrayList.size();
}
@Override
public boolean isViewFromObject(View view, Object object) {
return view==(LinearLayout)object;
}
@Override
public Object instantiateItem(ViewGroup container, int position) {
inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container,
false);
imageView= (ImageView) itemView.findViewById(R.id.image);
tv_date= (TextView) itemView.findViewById(R.id.tv_date);
tv_content= (TextView) itemView.findViewById(R.id.tv_content);
// Capture position and set to the ImageView
imageView.setImageResource(flag[position]);
// Capture position and set to the TextViews
tv_date.setText(date[position]);
tv_content.setText(content[position]);
((ViewPager) container).addView(itemView);
return itemView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
((ViewPager) container).removeView((LinearLayout) object);
}
}
您需要从arraylist
获取它,并将其绑定到arraylist
instantiateItem()
方法中的UI。
请参阅下面的示例代码,
@Override
public Object instantiateItem(ViewGroup container, int position) {
inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View itemView = inflater.inflate(R.layout.viewpager_item, container, false);
imageView= (ImageView) itemView.findViewById(R.id.image);
tv_date= (TextView) itemView.findViewById(R.id.tv_date);
tv_content= (TextView) itemView.findViewById(R.id.tv_content);
Model item = (Model) arrayList.get(position);
// Capture position and set to the ImageView
imageView.setImageResource(item.getFlag());
// Capture position and set to the TextViews
tv_date.setText(item.getDate());
tv_content.setText(item.getContent());
((ViewPager) container).addView(itemView);
return itemView;
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.