Android_xrecyclerview

本文介绍了一个基于RecyclerView的自定义适配器实现,并展示了如何使用XRecyclerView增强列表滚动功能,包括设置刷新和加载更多功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

//添加网络权限和依赖    compile 'com.jcodecraeer:xrecyclerview:1.2.0'

//适配器MyAdapter

public class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{
    private Context context;
    private List<Ssbean.DataBean>  list;


    public MyAdapter(Context context, List<Ssbean.DataBean>  list){
        this.context = context;
        this.list = list;
    }
    @Override
    public MyViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View inflate = View.inflate(context, R.layout.fenlei, null);
        MyViewHolder myAdapter = new MyViewHolder(inflate);
        return myAdapter;
    }

    @Override
    public void onBindViewHolder(MyViewHolder holder, int position) {
        ImageView iv = holder.iv;
        Log.e(TAG, "onBindViewHolder: "+list.get(position).getImages() );
        String[] split = list.get(position).getImages().split("!");
        ImageLoader.getInstance().displayImage(split[0],iv);
        holder.tv.setText(list.get(position).getTitle());
        Log.e("chen", "MyVIewHolder: 7777777"+"33333333333" );
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    class MyViewHolder extends RecyclerView.ViewHolder{

        TextView tv;
        ImageView iv;

        public MyViewHolder(View itemView) {
            super(itemView);
            tv = itemView.findViewById(R.id.tv);
            iv = itemView.findViewById(R.id.iv);
            Log.e("chen", "MyVIewHolder: 44444444444"+tv );
        }
    }
}




//获取ID和布局管理器

  List<Ssbean.DataBean> data = ssarr.getData();
//        RecyclerView viewById = inflate.findViewById(R.id.cxrcv);
//        GridLayoutManager gridLayoutManager = new GridLayoutManager(getContext(), 1, GridLayoutManager.VERTICAL, false);
//        viewById.setLayoutManager(gridLayoutManager);
//        viewById.setAdapter(new SousuoAdapter(getContext(),data));
        //获取id
        xrecyclerview = (XRecyclerView) findViewById(R.id.cxrcv);
        //设置可上拉
        xrecyclerview.setPullRefreshEnabled(true);
        xrecyclerview.setLoadingMoreEnabled(true);
        //设置上拉下拉样式
        xrecyclerview.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader);
        xrecyclerview.setLaodingMoreProgressStyle(ProgressStyle.BallClipRotate);

          // 线性布局管理器   VERTICAL默认样式/竖向显示       第三个参数是数据是否到过来显示
            LinearLayoutManager manager = new LinearLayoutManager(getContext(),LinearLayoutManager.VERTICAL,false);
            //添加布局管理器
            xrecyclerview.setLayoutManager(manager);

        //设置适配器
        sousuoAdapter = new SousuoAdapter(getContext(), data);
        myAdapter = new MyAdapter(getContext(), data);
        xrecyclerview.setAdapter(myAdapter);
        myAdapter.notifyDataSetChanged();
        //设置监听
        xrecyclerview.setLoadingListener(new XRecyclerView.LoadingListener() {
            @Override
            public void onRefresh() {
                Log.e("chen", "onRefresh: "+"我是下拉刷新" );
                yeshu++;
                sousPersontlei.canshu(gjz.getText().toString(),yeshu+"");
                xrecyclerview.refreshComplete();
            }

            @Override
            public void onLoadMore() {
                if(yeshu >0){
                    yeshu--;
                }else{
                    yeshu=0;
                }
                Log.e("chen", "onRefresh: "+"我是上啦加载" );
                sousPersontlei.canshu(gjz.getText().toString(),yeshu+"");
                xrecyclerview.loadMoreComplete();
            }
        });
}

//布局

<com.jcodecraeer.xrecyclerview.XRecyclerView
    android:id="@+id/cxrcv"
    android:padding="10dp"
    android:layout_width="368dp"
    android:layout_height="wrap_content">
</com.jcodecraeer.xrecyclerview.XRecyclerView>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值