这里,在这个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);
}
}
答案 0 :(得分:0)
您需要从arraylist
获取它并将其绑定到instantiateItem()
方法中的用户界面。
请参阅下面的示例代码,
@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;
}