首先先导依赖
implementation ‘com.jcodecraeer:xrecyclerview:1.5.9’
//依赖
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’
}
}
}
}
//MainActivity的xml
<?xml version="1.0" encoding="utf-8"?>
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/recyview"
android:layout_width=“match_parent”
android:layout_height=“match_parent”></com.jcodecraeer.xrecyclerview.XRecyclerView>
//MainActivity
package com.example.lx;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private XRecyclerView recyview;
private List<String> data;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyview = findViewById(R.id.recyview);
data = new ArrayList<>();
for(int i=0;i<50;i++)
{
data.add("zjq智障"+i);
}
adapter = new MyAdapter(MainActivity.this, data);
recyview.setAdapter(adapter);
LinearLayoutManager linearLayoutManager=new LinearLayoutManager(MainActivity.this);
recyview.setLayoutManager(linearLayoutManager);
recyview.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
//先清空data
data.clear();
for(int i=0;i<50;i++)
{
data.add("zjq"+i);
}
//停止刷新
recyview.refreshComplete();
//刷新适配器
adapter.notifyDataSetChanged();
}
//下拉刷新
@Override
public void onLoadMore() {
for(int i=0;i<20;i++)
{
data.add("哈哈哈"+i);
}
//停止刷新
recyview.refreshComplete();
}
});
}
}
//Myadapter适配器
package com.example.lx;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.List;
public class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder> {
private Context context;
private List data;
public MyAdapter(Context context, List<String> data) {
this.context = context;
this.data = data;
}
@NonNull
@Override
public MyAdapter.ViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view=View.inflate(context,R.layout.item,null);
ViewHolder holder=new ViewHolder(view);
return holder;
}
@Override
public void onBindViewHolder(@NonNull MyAdapter.ViewHolder viewHolder, int i) {
viewHolder.tv.setText(data.get(i));
}
@Override
public int getItemCount() {
return data.size();
}
class ViewHolder extends RecyclerView.ViewHolder{
private final TextView tv;
public ViewHolder(@NonNull View itemView) {
super(itemView);
tv = itemView.findViewById(R.id.tv);
}
}
}
<?xml version="1.0" encoding="utf-8"?>