RecyclerView的简单实用

Android2020年6月25日 am8:23发布3年前 (2021)更新 3xcn.com@站长
0 0 0
广告也精彩
目录

RecyclerVier简介

RecyclerViewAndroid一个更强大的控件,其不仅可以实现和ListView同样的效果,还有优化了ListView中的各种不足。其可以实现数据纵向滚动,也可以实现横向滚动(ListView做不到横向滚动)。

添加RecyclerView 依赖库

    implementation 'androidx.recyclerview:recyclerview:1.0.0'

RecyclerView的配置

布局配置

        //线性布局(Context context, @RecyclerView.Orientation int orientation,
            boolean reverseLayout)
        // 参数:上下环境,水平方向,布局是否翻转
        mLinearLayoutManager= new LinearLayoutManager(mContext, RecyclerView.HORIZONTAL,false);
        //瀑布流(int spanCount, int orientation)
        //参数:一行4列和垂直方向
        mStaggeredGridLayoutManager= new StaggeredGridLayoutManager(4, RecyclerView.VERTICAL);
        //网格布局(Context context, int spanCount)
        //参数:上下环境和一行4列
        mGridLayoutManager= new GridLayoutManager(this, 4); //一行4列

        //需要设置LayoutManager之后才能显示
        mRecyclerView.setLayoutManager(mGridLayoutManager);
        mRecyclerView.setAdapter(fruitAdapter);

Adapter定义

public class FruitAdapter extends RecyclerView.Adapter<FruitAdapter.ViewHolder> {

    private Context mContext;
    private String[] fruitName;

    public FruitAdapter(Context context, String[] fruits) {
        this.mContext = context;
        this.fruitName = fruits;
    }

    @NonNull
    @Override
    public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(mContext).inflate(R.layout.item_fruit, null);
        ViewHolder viewHolder = new ViewHolder(view);

        return viewHolder;
    }

    @Override
    public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
        holder.tvName.setText(fruitName[position]);
    }

    @Override
    public int getItemCount() {
        if (null != fruitName) {
            return fruitName.length;
        }
        return 0;
    }

    public class ViewHolder extends RecyclerView.ViewHolder {
        private TextView tvName;

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

            tvName = itemView.findViewById(R.id.fruit_name);
        }
    }
}

 历史上的今天

版权声明 1、 本站名称: 91易搜
2、 本站网址: 91es.com3xcn.com
3、 本站文章: 部分来源于网络,仅供站长学习和参考,若侵权请留言
广告也精彩

相关文章

广告也精彩

暂无评论

评论审核已启用。您的评论可能需要一段时间后才能被显示。

暂无评论...

网站升级中

公告

近期网站升级中,可能存在一些bug。欢迎反馈 https://www.91es.com/we.html

本站域名

本站域名 : 91es.com3xcn.com。本站邮箱 : 站长邮箱 i@oorr.cn,通知邮箱we@oorr.cn ,如有更新,请看公告 。