文件名称:
XRecyclerView-下拉刷新.zip
开发工具:
文件大小: 6mb
下载次数: 0
上传时间: 2019-09-24
详细说明: 介绍:一个实现了下拉刷新,滚动到底部加载更多以及添加header功能的的RecyclerView。使用方式和RecyclerView完全一致,不需要额外的layout,不需要写特殊的adater。 加载效果内置了AVLoadingIndicatorView上的所有效果,可以根据需要指定。项目地址:https://github.com/jianghejie/XRecyclerView 效果:使用:xml 2.MainActivitypackage com.example.xrecyclerview; import android.os.Bundle; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.view.LayoutInflater; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.ViewGroup; import com.jcodecraeer.xrecyclerview.ProgressStyle; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private XRecyclerView mRecyclerView; private MyAdapter mAdapter; private ArrayList listData; private int refreshTime = 0; Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mRecyclerView = (XRecyclerView)this.findViewById(R.id.recyclerview); LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); mRecyclerView.setLayoutManager(layoutManager); mRecyclerView.setRefreshProgressStyle(ProgressStyle.BallSpinFadeLoader); mRecyclerView.setLaodingMoreProgressStyle(ProgressStyle.Pacman); mRecyclerView.setArrowImageView(R.drawable.iconfont_downgrey); View header = LayoutInflater.from(this).inflate(R.layout.recyclerview_header, (ViewGroup)findViewById(android.R.id.content),false); mRecyclerView.addHeaderView(header); mRecyclerView.setLoadingListener(new XRecyclerView.LoadingListener() { Override public void onRefresh() { refreshTime ; new Handler().postDelayed(new Runnable(){ public void run() { listData.clear(); for(int i = 0; i < 15 ;i ){ listData.add("item" i "after " refreshTime " times of refresh"); } mAdapter.notifyDataSetChanged(); mRecyclerView.refreshComplete(); } }, 3000); //refresh data here } Override public void onLoadMore() { new Handler().postDelayed(new Runnable(){ public void run() { for(int i = 0; i < 15 ;i ){ listData.add("item" (i listData.size()) ); } mAdapter.notifyDataSetChanged(); mRecyclerView.loadMoreComplete(); } }, 3000); } }); listData = new ArrayList(); mAdapter = new MyAdapter(listData); for(int i = 0; i < 15 ;i ){ listData.add("item" i); } mRecyclerView.setAdapter(mAdapter); } Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.menu_main, menu); return true; } Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } }3. adapterpackage com.example.xrecyclerview; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import java.util.ArrayList; /** * Created by jianghejie on 15/11/26. */ public class MyAdapter extends RecyclerView.Adapter { public ArrayList datas = null; public MyAdapter(ArrayList datas) { this.datas = datas; } //创建新View,被LayoutManager所调用 Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item,viewGroup,false); ViewHolder vh = new ViewHolder(view); return vh; } //将数据与界面进行绑定的操作 Override public void onBindViewHolder(ViewHolder viewHolder, int position) { viewHolder.mTextView.setText(datas.get(position)); } //获取数据的数量 Override public int getItemCount() { return datas.size(); } //自定义的ViewHolder,持有每个Item的的所有界面元素 public static class ViewHolder extends RecyclerView.ViewHolder { public TextView mTextView; public ViewHolder(View view){ super(view); mTextView = (TextView) view.findViewById(R.id.text); } } }
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.
相关搜索: