繁体   English   中英

如何在viewpager中设置数据?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM