Adapter
public class MyAdapter extends XRecyclerView.Adapter<MyAdapter.ViewHolder> { private List<String> list; public MyAdapter(List<String> list) { this.list = list; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View inflate = LayoutInflater.from(parent.getContext()).inflate(R.layout.recyclerview_item, parent, false); ViewHolder viewHolder = new ViewHolder(inflate); return viewHolder; } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.textTv.setText(list.get(position)); } @Override public int getItemCount() { return list == null ? 0 : list.size(); } public class ViewHolder extends RecyclerView.ViewHolder { private final TextView textTv; public ViewHolder(View itemView) { super(itemView); textTv = itemView.findViewById(R.id.tv_text); } } }
Main
public class MainActivity extends AppCompatActivity { private XRecyclerView mXrecyclerview; private List<String> list = new ArrayList<>(); private MyAdapter myAdapter; private int num=20; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); initListener(); } private void initView() { mXrecyclerview = findViewById(R.id.xrecyclerview); for (int i = 0; i < num; i++) { list.add("xrecyclerview:" + i); } // mXrecyclerview.setPullRefreshEnabled(true); mXrecyclerview.setLoadingMoreEnabled(true); //设置样式 /* mXrecyclerview.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); mXrecyclerview.setLoadingMoreProgressStyle(ProgressStyle.BallClipRotatePulse);*/ } private void initListener() { myAdapter = new MyAdapter(list); LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this); linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL); mXrecyclerview.setLayoutManager(linearLayoutManager); mXrecyclerview.setAdapter(myAdapter); mXrecyclerview.setLoadingListener(new XRecyclerView.LoadingListener() { @Override public void onRefresh() { num=20; mXrecyclerview.refreshComplete(); } @Override public void onLoadMore() { num++; list.add(num+"ddddd"); mXrecyclerview.loadMoreComplete(); } }); } }