关于SwipeRefreshLayout实现上拉加载更多,下拉加载更多的方法
来源:互联网 发布:mac怎么安装mpv 编辑:程序博客网 时间:2024/05/23 13:27
话不多说直接上代码
public class SwipeRefreshLayoutActivity extends Activity { private ListView listView; private SwipeRefreshLayout layout; private List<HashMap<String,Object>> data = new ArrayList<>(); private SimpleAdapter adapter; private View view ,head,line;// private List<String> data = new ArrayList<>();// private ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.swipe_refresh_activity); listView = (ListView) findViewById(R.id.listView); layout=(SwipeRefreshLayout)findViewById(R.id.refresh); head=findViewById(R.id.refresh_item_view);// line=findViewById(R.id.lineMe); initData(); adapter = new SimpleAdapter(this,data,R.layout.swipe_item,new String[]{"name","picture"},new int[]{R.id.tv1,R.id.img1}); listView.setAdapter(adapter); view = LayoutInflater.from(this).inflate(R.layout.swipe_item,null); /** * 通过自带刷新监听实现下拉刷新更多数据 */ layout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { listView.addHeaderView(view); addDdata(); } private void addDdata() { HashMap<String,Object> hashMapm=new HashMap<String, Object>(); hashMapm.put("name","帅比"); hashMapm.put("picture", android.R.drawable.ic_menu_help); data.add(hashMapm); new Handler().postDelayed(new Runnable() { @Override public void run() { listView.removeHeaderView(view);// head.setVisibility(View.GONE); adapter.notifyDataSetChanged(); layout.setRefreshing(false); } }, 4000); } }); /** * 通过判断是否到listview底部添加页脚实现上拉加载更多 */ listView.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView absListView, int i) { LogUtils.e("onScrollStateChanged"+"==="+i);// if (i==1)// {// layout.setRefreshing(true);// }else {// layout.setRefreshing(false);// } if (absListView.getLastVisiblePosition()==absListView.getCount()-1)//判断是否到底部 { listView.addFooterView(view); layout.setRefreshing(true); addDataMe(); } } private void addDataMe() { HashMap<String,Object> hashMapm=new HashMap<String, Object>(); hashMapm.put("name","帅比杨"); hashMapm.put("picture", android.R.drawable.ic_menu_help); data.add(hashMapm); new Handler().postDelayed(new Runnable() { @Override public void run() { listView.removeFooterView(view);// head.setVisibility(View.GONE); adapter.notifyDataSetChanged(); layout.setRefreshing(false); } }, 2000); } @Override public void onScroll(AbsListView absListView, int i, int i1, int i2) { LogUtils.e("onScroll"+"=="+i+"=="+"=="+i1+"=="+i2); } });// adapter = new ArrayAdapter<String>(SwipeRefreshLayoutActivity.this, android.R.layout.simple_list_item_1, data);// listView.setAdapter(adapter); } private void initData() { for (int i = 0; i<40;i++) { HashMap<String,Object> hashMap = new HashMap<>(); hashMap.put("name","杨宇奇"+i); hashMap.put("picture",android.R.drawable.ic_delete); data.add(hashMap); }// for (int i =0;i<30;i++)// {// data.add("杨宇奇"+i);// } } @Override public boolean onTouchEvent(MotionEvent event) { if (layout.getChildAt(2) instanceof ListView) { layout.setRefreshing(false); } return super.onTouchEvent(event); }
布局item
0 0
- 关于SwipeRefreshLayout实现上拉加载更多,下拉加载更多的方法
- 实现上拉加载更多的SwipeRefreshLayout
- 实现上拉加载更多的SwipeRefreshLayout
- SwipeRefreshLayout实现下拉刷新、上拉加载更多功能
- 使用SwipeRefreshLayout实现下拉刷新与上拉加载更多
- recyclerview+swiperefreshlayout实现GridView下拉刷新,上拉加载更多
- SwipeRefreshLayout配合RecyclerView实现上拉加载更多下拉刷新
- SwipeRefreshLayout + RecyclerView 实现 上拉刷新 和 下拉加载更多
- SwipeRefreshLayout +RecycleView实现上拉加载更多和下拉刷新
- listview下拉刷新,上拉加载更多的实现方法
- SwipeRefreshLayout下拉刷新与上拉加载更多,分页加载
- (4.1.44.2)实现上拉加载更多的SwipeRefreshLayout
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- SwipeRefreshLayout配合RecyclerView实现下拉刷新和上拉加载更多以及没有数据的显示
- 使用SwipeRefreshLayout和自定义的PullToReFreshListView实现下拉刷新和上拉加载更多
- RecyclerView+SwipeRefreshLayout实现上拉刷新,下拉加载更多的功能
- 自定义SwipeRefreshLayout实现上拉加载更多并自带系统的下拉刷新
- SwipeRefreshLayout和RecyclerView结合实现下拉刷新和上拉加载更多的效果
- Block 4:Block实质解析
- uva 10118(DP)
- fatal error C1047: 对象或库文件“EDLib.lib”是使用比创建其他对象所用编译器旧的编译器创建的
- css布局--父级元素高度自适应
- 企业信息化快速开发平台 JeeSite
- 关于SwipeRefreshLayout实现上拉加载更多,下拉加载更多的方法
- QT处理中文之QString转为const char *
- Android Studio高效率小技巧
- 基于对话框、单文档、多文档区别
- Java输入输出之File类
- Java代码性能优化总结【收藏】
- java中实现斐波那数列
- spring @Qualifier注解
- Servlet学习笔记_01_Servlet或javaee要了解的一些常识