android开发 记录ViewPager2

引入

    implementation "androidx.viewpager2:viewpager2:1.0.0-beta04"

在布局中使用省略。

viewpager2使用的适配器是RecyclerView的适配器,所以会使用RecyclerView就会使用viewpager2。
与viewpager的相比,viewpager2的offscreenPageLimit能设置成0。
setOrientation可以设置布局方向,不但可以左右滑动也可以上下滑动。

使用RecyclerView.adapter

public class VP2Adapter extends RecyclerView.Adapter<VP2Adapter.MyHolder> {

    List<String> stringList;

    public VP2Adapter(List<String> stringList) {
        this.stringList = stringList;
    }

    @NonNull
    @Override
    public MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {

        View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_my_holder, parent, false);
        return new MyHolder(v);
    }

    @Override
    public void onBindViewHolder(@NonNull MyHolder holder, int position) {

        String item = stringList.get(position);
        holder.my_holder_tv.setText(item);

    }


    @Override
    public int getItemCount() {

        return stringList.size();
    }

    class MyHolder extends RecyclerView.ViewHolder {

        TextView my_holder_tv;

        public MyHolder(@NonNull View itemView) {
            super(itemView);

            my_holder_tv = itemView.findViewById(R.id.my_holder_tv);
        }
    }
}

FragmentStateAdapter替代了FragmentStatePagerAdapter

public class Vp2FragAdapter extends FragmentStateAdapter {

    private List<Fragment> fragments;

    public Vp2FragAdapter(@NonNull FragmentActivity fragmentActivity, List<Fragment> fragments) {
        super(fragmentActivity);
        this.fragments = fragments;
    }


    @NonNull
    @Override
    public Fragment createFragment(int position) {
        return fragments.get(position);
    }

    @Override
    public int getItemCount() {
        return fragments.size();
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值