RecyclerView与XRecyclerView 的一些简单使用及注意事项

本文介绍了RecyclerView的基本使用,并重点讲解了XRecyclerView的导入与在MainActivity中的实现,包括依赖的添加和Activity的继承。

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

//导入依赖
RecyclerView 只需导入Design库就好

/* design RecycleView 依赖 */
    implementation 'com.android.support:design:28.0.0'

XRecyclerView 需要导入两处

/*Xrecyclerview*/
implementation 'com.jcodecraeer:xrecyclerview:1.5.9'

2.这一段话也要复制进去  是同一个Build.gradle
configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '28.0.0'
            }
        }
    }
}

在这里插入图片描述

XRecyclerView 的MainActivity

public class MainActivity extends AppCompatActivity implements IContract.IView {

private String url = "http://172.17.8.100/small/commodity/v1/findCommodityByKeyword?page=1&count=10&keyword=%E6%89%8B%E6%9C%BA";
private XRecyclerView xrec_view;
private List<Results.ResultBean> datas = new ArrayList<>();
private MyAdapter adapter;
private PresenterImpl mPresenter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    xrec_view = findViewById(R.id.xrec_view);
    //布局管理器
    LinearLayoutManager manager = new LinearLayoutManager(this);
    xrec_view.setLayoutManager(manager);

    xrec_view.setLoadingMoreEnabled(true);
    xrec_view.setPullRefreshEnabled(true);

    mPresenter = new PresenterImpl(this);
    mPresenter.startRequest(url, this);

    adapter = new MyAdapter(this, datas);
    xrec_view.setAdapter(adapter);

    xrec_view.setLoadingListener(new XRecyclerView.LoadingListener() {
        @Override
        public void onRefresh() {
            datas.clear();
            mPresenter.startRequest(url, MainActivity.this);
            adapter.notifyDataSetChanged();
            xrec_view.refreshComplete();
        }

        @Override
        public void onLoadMore() {
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    datas.addAll(datas);
                    adapter.notifyDataSetChanged();
                    xrec_view.loadMoreComplete();
                }
            }, 500);

        }
    });

}

@Override
public void getData(String data) {

    Gson gson = new Gson();
    Results results = gson.fromJson(data, Results.class);
    List<Results.ResultBean> result = results.getResult();

    datas.addAll(result);
    adapter.notifyDataSetChanged();
}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值