项目中上拉刷新和下拉加载一直都是比较常见的;以前一般都是重写ListView或直接用PullToRefreshListView的框架;最近尝试用RecyclerView来实现下拉加载上拉刷新也是不错的。如图是Demo的效果图:第一个效果图是用RecyclerView实现加的几个静 ...
项目中上拉刷新和下拉加载一直都是比较常见的;以前一般都是重写ListView或直接用PullToRefreshListView的框架;最近尝试用RecyclerView来实现下拉加载上拉刷新也是不错的。
如图是Demo的效果图:
第一个效果图是用RecyclerView实现加的几个静态数据;
第二个是参考别人写的RefreshRecyclerView来实现上拉刷新下拉加载;我只是把他的静态数据改成网络的数据;不过原先那个有点问题我发现在2次以上的刷新加载后布局会混乱刷新的item竟然复制了一份漂浮在界面上方跟着屏幕一起在滑动!感觉蛮好玩的
第三个是用的PullToRefreshListView来实现的数据和第二个一样都是网络接数据
demo的下载地址:http://download.csdn.net/detail/qq_29774291/9648634
如下是主要代码
1 package com.item.my.jiejie.activity; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 import com.item.my.jiejie.R; 6 import com.item.my.jiejie.adpter.MyAdapterThree; 7 import com.item.my.jiejie.adpter.MyAdapterThree.OnItemClickListener; 8 import com.item.my.jiejie.view.DividerItemDecoration; 9 import android.app.Activity;10 import android.os.Bundle;11 import android.support.v7.widget.DefaultItemAnimator;12 import android.support.v7.widget.LinearLayoutManager;13 import android.support.v7.widget.RecyclerView;14 import android.widget.Toast;15 16 /**17 * 用RecyclerView实现18 * @author Administrator19 *20 */21 public class MyRecyleActivity extends Activity{22 private RecyclerView mRecyclerView;23 private List<String> mDataStrings;24 private MyAdapterThree adapter;25 @Override26 protected void onCreate(Bundle savedInstanceState) {27 // TODO Auto-generated method stub28 super.onCreate(savedInstanceState);29 setContentView(R.layout.activity_myrecyle);30 initData();31 mRecyclerView = (RecyclerView)findViewById(R.id.my_recyler);32 mRecyclerView.setLayoutManager(new LinearLayoutManager(this));33 adapter = new MyAdapterThree(this, mDataStrings);34 mRecyclerView.setAdapter(adapter);35 //即给RecyclerView添加分隔线36 mRecyclerView.addItemDecoration(new DividerItemDecoration(MyRecyleActivity.this, LinearLayoutManager.VERTICAL));37 //设置RecyclerView添加或删除条目的动画38 mRecyclerView.setItemAnimator(new DefaultItemAnimator());39 //给RecyclerView设置点击事件40 adapter.setOnItemClickListener(new OnItemClickListener() {41 42 @Override43 public void onLongClick(int position) {44 // TODO Auto-generated method stub45 Toast.makeText(MyRecyleActivity.this, "onLongClick你点击了:" + position, Toast.LENGTH_SHORT).show();46 }47 48 @Override49 public void onClick(int position) {50 // TODO Auto-generated method stub51 Toast.makeText(MyRecyleActivity.this, "onClick 你点击了:" + position, Toast.LENGTH_SHORT).show();52 }53 });54 }55 /**56 * 添加数据57 */58 private void initData() {59 // TODO Auto-generated method stub60 mDataStrings = new ArrayList<String>();61 for (int i = 'A'; i < 'z'; i++)62 {63 mDataStrings.add("" + (char) i);64 }65 }66 67 }
原标题:RecyclerView和PullToRefreshListView的对比
关键词:ie
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。