• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > 开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解

开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

开源插件 PullToRefresh: PullToRefreshListView / PullToRefreshGridView 实例详解


AndroidManifest.xml



    

    
        
            
                

                
            
        
        
        
        
        
    



MainActivity.java
package com.cctvjiatao.pulltorefreshlistviewdemo;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

/**
 * @作者: jiatao
 * @修改时间:2016-4-12 下午6:03:08 	
 * @文件名:MainActivity.java
 * @版权声明:www.cctvjiatao.com
 * @功能: 开源插件 PullToRefresh, PullToRefreshListView / PullToRefreshGridView 实例详解
 */
public class MainActivity extends Activity {
	
	private Context context;
	private Button btn1, btn2, btn3, btn4;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		context = this;
		setContentView(R.layout.act_main);
		initView();
	}

	private void initView() {
		btn1 = (Button) findViewById(R.id.btn1);
		btn2 = (Button) findViewById(R.id.btn2);
		btn3 = (Button) findViewById(R.id.btn3);
		btn4 = (Button) findViewById(R.id.btn4);
		
		btn1.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivity(new Intent(context, OnlyPullDownAct.class));
			}
		});
		
		btn2.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivity(new Intent(context, BothPullDownUpAct.class));
			}
		});
		
		btn3.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivity(new Intent(context, PullGridpAct.class));
			}
		});
		
		btn4.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				startActivity(new Intent(context, PullWithCustomTextAct.class));
			}
		});
	}
	
}

act_main.xml



OnlyPullDownAct.java

 

package com.cctvjiatao.pulltorefreshlistviewdemo;

import java.util.LinkedList;

import android.app.Activity;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.format.DateUtils;
import android.util.Log;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
/**
 * @作者: jiatao
 * @修改时间:2016-4-12 下午11:39:50 
 * @包名:com.cctvjiatao.pulltorefreshlistviewdemo
 * @文件名:OnlyPullDownAct.java
 * @版权声明:www.cctvjiatao.com
 * @功能: 只能下拉的 PullToRefreshListView
 */
public class OnlyPullDownAct extends Activity {

	private final String TAG = getClass().getSimpleName();
	private LinkedList mListItems;
	
	private PullToRefreshListView mPullRefreshListView;
	private ArrayAdapter mAdapter;
	private int mItemCount = 9;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.act_pulllist);
		initDatas();
		initView();
		setListener();
	}
	
	/**
	 *  初始化数据
	 */
	private void initDatas() {
		mListItems = new LinkedList();
		for (int i = 0; i < mItemCount; i++) {
			mListItems.add("" + i);
		}
	}

	/**
	 * 初始化界面
	 */
	private void initView() {
		// 得到控件
		mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);
		// 设置适配器
		mAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, mListItems);
		mPullRefreshListView.setAdapter(mAdapter);
	}
	
	/**
	 * 设置监听事件
	 * 		下拉刷新的回调:setOnRefreshListener(new OnRefreshListener(){}
	 */
	private void setListener() {
		mPullRefreshListView.setOnRefreshListener(new OnRefreshListener() {
			@Override
			public void onRefresh(PullToRefreshBase refreshView) {
				Log.e(TAG, "onRefresh");
				String label = DateUtils.formatDateTime(getApplicationContext(), System.currentTimeMillis(), DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_ALL);
				refreshView.getLoadingLayoutProxy().setLastUpdatedLabel(label);// 显示最后更新的时间
				new GetDataTask().execute();// 模拟加载任务
			}
		});
	}

	/**
	 * 模拟加载任务
	 * 		在回调中模拟了一个异步任务,加载了一个Item
	 */
	private class GetDataTask extends AsyncTask {
		@Override
		protected String doInBackground(Void... params) {
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				
			}
			return "" + (mItemCount++);
		}

		@Override
		protected void onPostExecute(String result) {
			mListItems.add(result);
			mAdapter.notifyDataSetChanged();
			mPullRefreshListView.onRefreshComplete();
		}
	}

}

act_pulllist.xml

 



    
    



 
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-262016年Android市场的8个大胆预测,2016年android
  • 2017-05-26手机安全卫士——在设置中心 自定义view和自定义属性,安全卫士view
  • 2017-05-26cnbeta新闻资讯第三方客户端应用,cnbeta新闻资讯
  • 2017-05-26手机安全卫士——手机防盗页面,安全卫士防盗页面
  • 2017-05-26Android开发学习之路--百度地图之初体验
  • 2017-05-26android adb pull push,androidadb
  • 2017-05-26厌烦了写findViewById 试试ButterKnife吧,butterknife
  • 2017-05-26Android开发学习——应用安装过程,android开发
  • 2017-05-26一个pycharm引起ubuntu桌面丢失的惨案
  • 2017-05-26安卓DJ113舞曲网应用客户端 项目源码(服务器+客户端),安卓dj113

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • ArcGIS Android工程迁移到其他电脑不能打开的问题,arcgisandroid
    • tcpdump的移植和使用方法
    • 高并发低基数多字段任意组合查询的优化
    • android关于线程的那些事,android那些事
    • 仿Android印象笔记底部导航栏
    • json反序列化把空字符串转为null
    • 使用LogPhoneUtil工具类在Android手机保存APP运行日志,android日志工具类
    • android Android性能优化之如何避免Overdraw,androidoverdraw
    • 第一节 搭建开发环境,第一节搭建开发
    • 华为荣耀畅玩5C NEM-UL10 ROOT那些事儿(亲测成功),畅玩nem-ul10

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有