Xrecycleview上拉重新整理,下拉載入
阿新 • • 發佈:2018-12-20
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); } } }