implementation 'com.jcodecraeer:xrecyclerview:1.3.2'
Android studio3.0之后需要结局版本冲突
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
def requested = details.requested
if (requested.group == 'com.android.support') {
if (!requested.name.startsWith("multidex")) {
details.useVersion '27.1.1'
}
}
}
}
mXRecyclerView=findViewById(R.id.xrecycle);
//适配器
final Madapter madapter = new Madapter(this);
mXRecyclerView.setAdapter(madapter);
mXRecyclerView.setPullRefreshEnabled(true);
mXRecyclerView.setLoadingMoreEnabled(true);
mXRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
madapter.setData(newslist);
mXRecyclerView.refreshComplete();
}
@Override
public void onLoadMore() {
madapter.addData(newslist);
mXRecyclerView.loadMoreComplete();
}
});
//布局管理器
mXRecyclerView.setLayoutManager(new LinearLayoutManager(this,LinearLayoutManager.VERTICAL,false));
Madapter extends XRecyclerView.Adapter<Madapter.ViewHolder> {
private final MainActivity context;
private final List<News.NewslistBean> list;
public Madapter(MainActivity mainActivity) {
this.context=mainActivity;
list=new ArrayList<>();
}
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.list_item, null);
ViewHolder viewHolder = new ViewHolder(view);
return viewHolder;
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
GenericDraweeHierarchyBuilder builder = new GenericDraweeHierarchyBuilder(context.getResources());
RoundingParams params = RoundingParams.asCircle();
GenericDraweeHierarchy hierarchy = builder.setRoundingParams(params).build();
holder.image.setHierarchy(hierarchy);
holder.image.setImageURI(list.get(position).getUrl());
holder.tv.setText(list.get(position).getTitle());
}
@Override
public int getItemCount() {
return list.size();
}
public void setData(List<News.NewslistBean> newslist) {
list.addAll(newslist);
notifyDataSetChanged();
}
public void addData(List<News.NewslistBean> newslist) {
list.addAll(newslist);
notifyDataSetChanged();
}
public class ViewHolder extends XRecyclerView.ViewHolder {
SimpleDraweeView image;
TextView tv;
public ViewHolder(View itemView) {
super(itemView);
image=itemView.findViewById(R.id.image);
tv=itemView.findViewById(R.id.tv);
}
}
}