第三方GridView上拉刷新下拉加载
来源:互联网 发布:广电网络公司员工编制 编辑:程序博客网 时间:2024/05/12 01:08
//整体代码
package com.example.gardview;
import java.util.ArrayList;
import java.util.LinkedList;
import java.util.List;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;
import com.handmark.pulltorefresh.library.PullToRefreshGridView;
import android.os.AsyncTask;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.text.format.DateUtils;
import android.util.Log;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.GridView;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends Activity {
private PullToRefreshGridView mPullRefreshGridView;
private int mItemCount = 13;
private List mListItems = new ArrayList();;
private MyAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 得到控件
mPullRefreshGridView = (PullToRefreshGridView) findViewById(R.id.pull_refresh_grid);
// 初始化数据和数据源
initDatas();
initIndicator();
adapter = new MyAdapter();
mPullRefreshGridView.setAdapter(adapter);
//监听事件 mPullRefreshGridView.setOnRefreshListener(new OnRefreshListener2<GridView>() { @Override public void onPullDownToRefresh(PullToRefreshBase<GridView> refreshView) { Log.e("TAG", "onPullDownToRefresh"); // Do work to String label = DateUtils.formatDateTime(getApplicationContext(),System.currentTimeMillis(),DateUtils.FORMAT_SHOW_TIME| DateUtils.FORMAT_SHOW_DATE| DateUtils.FORMAT_ABBREV_ALL); // Update the LastUpdatedLabel refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label); Toast.makeText(MainActivity.this, "下拉刷新", 0).show(); new GetDataTaska().execute(); } @Override public void onPullUpToRefresh(PullToRefreshBase<GridView> refreshView) { Toast.makeText(MainActivity.this, "开始上拉加载", 0).show(); Log.e("TAG", "onPullUpToRefresh"); // Do work to refresh // the list here. new GetDataTask().execute(); } });}private class GetDataTask extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) { try { Thread.sleep(2000); } catch (InterruptedException e) { } return null; } //上拉加载 @Override protected void onPostExecute(Void result) { mListItems.add("" + mItemCount--); adapter.notifyDataSetChanged(); // Call onRefreshComplete when the list has been refreshed. mPullRefreshGridView.onRefreshComplete(); }}private class GetDataTaska extends AsyncTask<Void, Void, Void>{ @Override protected Void doInBackground(Void... params) { try { Thread.sleep(2000); } catch (InterruptedException e) { } return null; } //上拉加载 @Override protected void onPostExecute(Void result) { mListItems.add("" + mItemCount++); adapter.notifyDataSetChanged(); // Call onRefreshComplete when the list has been refreshed. mPullRefreshGridView.onRefreshComplete(); }}public class MyAdapter extends BaseAdapter{ @Override public int getCount() { // TODO Auto-generated method stub return mListItems.size(); } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @SuppressLint("ViewHolder") @Override public View getView(int position, View convertView, ViewGroup parent) { View view=View.inflate(MainActivity.this, R.layout.item, null); TextView Tex=(TextView) view.findViewById(R.id.item_text); Tex.setText(""+mItemCount); return view; }}private void initIndicator() { ILoadingLayout startLabels = mPullRefreshGridView.getLoadingLayoutProxy(true, false); startLabels.setPullLabel("你可劲拉,拉...");// 刚下拉时,显示的提示 startLabels.setRefreshingLabel("好嘞,正在刷新...");// 刷新时 startLabels.setReleaseLabel("你敢放,我就敢刷新...");// 下来达到一定距离时,显示的提示 ILoadingLayout endLabels = mPullRefreshGridView.getLoadingLayoutProxy(false, true); endLabels.setPullLabel("你可劲拉,拉2...");// 刚下拉时,显示的提示 endLabels.setRefreshingLabel("好嘞,正在刷新2...");// 刷新时 endLabels.setReleaseLabel("你敢放,我就敢刷新2...");// 下来达到一定距离时,显示的提示}//添加数据private void initDatas() { for (int i = 0; i < mItemCount; i++) { mListItems.add(i + "文字啊"); }}
}
- 第三方GridView上拉刷新下拉加载
- 上拉刷新,下拉加载的靠谱的第三方。支持listview,scrollview,gridview等等
- SVPullToRefresh[第三方]下拉刷新上拉加载使用
- ListView上拉加载下拉刷新第三方整理
- 第三方 MJRefresh 下拉刷新和上拉加载
- GridView+下拉刷新+上拉加载
- gridview的上拉刷新下拉加载
- gridView上拉刷新下拉加载
- GridView的下拉刷新上拉加载
- ios开发—下拉刷新、上拉加载第三方类
- 不借助第三方插件利用ScrollView自身delegate实现下拉刷新和上拉加载
- IOS常用第三方框架 --- STableViewController 下拉刷新、上拉加载更多
- IOS常用第三方框架 --- SVPullToRefresh 下拉刷新、上拉加载更多
- 解决RecyclerView上拉加载、下拉刷新、Header和Footer的第三方解决方案
- 第三方 MJRefresh 实现 iOS中 上拉加载更多,下拉刷新数据
- 简单的调用第三方XlistView的上拉加载下拉刷新
- 解决RecyclerView上拉加载、下拉刷新、Header和Footer的第三方解决方案
- 第三方 PullToRefresh 的使用 (下拉刷新,上拉加载)
- ubuntu 系统 opencv3.1.0 安装
- Yacc 与 Lex 快速入门
- mongodb3.2.8 centos安装及配置
- GIS剖分数据模型研究(三)
- QT 异常停止
- 第三方GridView上拉刷新下拉加载
- centOS6.5编译安装jdk详细步骤
- HDU 5768 Lucky7(CRT+容斥)
- docker 常用命令
- org.apache.hadoop.mapreduce.lib.input.InvalidInputException: Input path does not exist:
- 下拉tableView,Headview图片左右扩展
- 内存映射实现进程通讯
- 微信jsapi支付,异步通知notify_url没有反应,但是可以发起支付,并能通知到前端
- Ubuntu 16.04 搭建Hadoop环境(to be continued)