android 上拉加载 下拉刷新 动画listview/recyclerview
首先本文用到的自定义recyclerview上传至https://download.csdn.net/download/qq_36355271/10910706
请自行下载。
xml写法:
<view.cxrecyclerview.CXRecyclerView
android:id="@+id/recycler"
android:layout_width="match_parent"
android:background="#fff"
android:layout_height="match_parent">
第一步:
friendList_adapter=new FriendList_Adapter(context,list);
RecyclerViewUtil.init(context,recycler,friendList_adapter);
/**
* 竖向分割线
* @param context
* @param recyclerView
* @param adapter
*/
public static void init(Context context, RecyclerView recyclerView, RecyclerView.Adapter adapter) {
LinearLayoutManager layoutManager = new LinearLayoutManager(context);
recyclerView.setLayoutManager(layoutManager);
recyclerView.setHasFixedSize(true);
recyclerView.addItemDecoration(new DividerItemDecoration(context, LinearLayoutManager.VERTICAL));
recyclerView.setAdapter(adapter);
}
此方法在上面下载大文件中
正常使用adapter即可使用
adapter如下:
/**
* Created by Administrator on 2019/1/8.
*/
public class FriendList_Adapter extends RecyclerView.Adapter<FriendList_Adapter.MyHolder>{
Context context;
List<UserTable> list;
public FriendList_Adapter(Context context,List<UserTable> list){
this.context=context;
this.list=list;
}
@NonNull
@Override
public FriendList_Adapter.MyHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.adapter_friendlist_fragment,null);
MyHolder myHolder=new MyHolder(view);
return myHolder;
}
@Override
public void onBindViewHolder(@NonNull FriendList_Adapter.MyHolder holder, int position) {
holder.tv.setText(list.get(position).getPhone());
holder.tv_call.setText(list.get(position).getCellphone());
holder.tv_name.setText(list.get(position).getUsername());
holder.tv_group.setText(list.get(position).getGroup()+"——"+list.get(position).getDname());
// holder.tv.setOnClickListener();
// holder.itemView.setOnClickListener();
}
@Override
public int getItemCount() {
return list.size();
}
class MyHolder extends RecyclerView.ViewHolder{
TextView tv;
TextView tv_call;
TextView tv_name;
TextView tv_group;
public MyHolder(View itmeview){
super(itmeview);
tv=itmeview.findViewById(R.id.text1);
tv_call=itmeview.findViewById(R.id.tv_call);
tv_name=itmeview.findViewById(R.id.tv_name);
tv_group=itmeview.findViewById(R.id.tv_group);
}
}
}
在activity中:如下
@BindView(R.id.recycler)
CXRecyclerView recycler;
recycler.setLoadingListener(new CXRecyclerView.LoadingListener() {
@Override
public void onRefresh() {
Https_();//下拉刷新
}
@Override
public void onLoadMore() {//加载更多
// Handler().postDelayed(Runnable{
// },1000);
recycler.loadMoreComplete();
}
});