RecyclerView简单使用笔记

RecyclerView(比ListView、GridView更强大的滚动控件)

Android Studio中添加库
compile 'com.android.support:recyclerview-v7:24.2.1'

布局文件中和ListView一致
<android.support.v7.widget.RecyclerView
    android:id="@+id/rv"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    
</android.support.v7.widget.RecyclerView>
新建适配器
public class RvAdapter extends RecyclerView.Adapter<RvAdapter.ViewHolder> {

    private List<Student> ml;

    public RvAdapter(List<Student> ml) {
        this.ml = ml;
    }
适配器继承RecyclerView.Adapter泛型为RvAdapter中的ViewHolder
/**
 * 创建ViewHolder实例
 * @param parent
 * @param viewType
 * @return
 */
@Override
public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
    View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_rv, parent,false);
    ViewHolder holder = new ViewHolder(inflate);
    return holder;
}

/**
 * 对RecyclerView子项赋值
 * @param holder
 * @param position
 */
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
    holder.iv.setImageResource(ml.get(position).getIv());
    holder.tv.setText(ml.get(position).getTv());
}

/**
 * 拥有子项总数
 * @return
 */
@Override
public int getItemCount() {
    return ml.size();
}
在Activity中制定RecyclerView的布局方式
1.线性布局setOrientation设置横向还是纵向
LinearLayoutManager lm = new LinearLayoutManager(this);
lm.setOrientation(LinearLayoutManager.HORIZONTAL);
rv.setLayoutManager(sm);
rv.setAdapter(adapter);
2.网格布局,3代表3列
GridLayoutManager gm = new GridLayoutManager(this,3);
rv.setLayoutManager(gm);
rv.setAdapter(adapter);
2.瀑布流布局,3代表列数或行数,StaggeredGridLayoutManager.HORIZONTAL代表水平方向
StaggeredGridLayoutManager sm = new StaggeredGridLayoutManager(3, StaggeredGridLayoutManager.HORIZONTAL);
rv.setLayoutManager(sm);
rv.setAdapter(adapter);






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值