位置: 编程技术 - 正文

Android学习之开源项目PullToRefresh的使用(android开发最全教程)

编辑:rootadmin

推荐整理分享Android学习之开源项目PullToRefresh的使用(android开发最全教程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:android开发最全教程,android 开发入门,android开发教学视频,android开发指南,android 开发 教程,最新版android开发视频教程,最新版android开发视频教程,android开发教学视频,内容如对您有帮助,希望把文章链接给更多的朋友!

首先 下载 Android-PullToRefresh-master

下载地址 我们用eclipse 创建一个项目取名PullToRefresh

将上面的library 引入我们的项目

Android学习之开源项目PullToRefresh的使用(android开发最全教程)

引入成功之后打开项目的project.properties文件我们可以看到

android.library.reference.1=../Android-PullToRefresh-master/library

这样就表示可以引用成功了

我们在res/layout创建 布局文件main.xml

view sourceprint?.<?xml version="1.0" encoding="utf-8"?>.<LinearLayout xmlns:android=" >. .<!-- xmlns:ptr = " 为我们要使用PullToRefresh 里面一些属性需要引的命名空间 -->.<com.handmark.pulltorefresh.library.PullToRefreshListView.xmlns:ptr = " MainActivity.java

view sourceprint?.package com.pulltorefresh;. .import java.util.Arrays;.import java.util.LinkedList;. .import android.app.Activity;.import android.os.AsyncTask;.import android.os.Bundle;.import android.widget.ArrayAdapter;.import android.widget.ListView;.import android.widget.Toast;. .import com.handmark.pulltorefresh.library.PullToRefreshBase;.import com.handmark.pulltorefresh.library.PullToRefreshBase.OnRefreshListener2;.import com.handmark.pulltorefresh.library.PullToRefreshBase.State;.import com.handmark.pulltorefresh.library.PullToRefreshListView;.import com.handmark.pulltorefresh.library.extras.SoundPullEventListener;. . . .public class MainActivity extends Activity {. . .static final int MENU_MANUAL_REFRESH = 0;.static final int MENU_DISABLE_SCROLL = 1;.static final int MENU_SET_MODE = 2;.static final int MENU_DEMO = 3;. .private LinkedList<String> mListItems;.private PullToRefreshListView mPullRefreshListView;.private ArrayAdapter<String> mAdapter;. .@Override.protected void onCreate(Bundle savedInstanceState) {.super.onCreate(savedInstanceState);.setContentView(R.layout.main);.mPullRefreshListView = (PullToRefreshListView) findViewById(R.id.pull_refresh_list);. . ./**.* 实现 接口 OnRefreshListener2<ListView> 以便与监听 滚动条到顶部和到底部.*/.mPullRefreshListView.setOnRefreshListener(new OnRefreshListener2<ListView>() {.@Override.public void onPullDownToRefresh( PullToRefreshBase<ListView> refreshView) {.Toast.makeText(MainActivity.this, "onPullDownToRefresh", Toast.LENGTH_SHORT).show();.new GetDataTask().execute();.}.@Override.public void onPullUpToRefresh( PullToRefreshBase<ListView> refreshView) {.Toast.makeText(MainActivity.this, "onPullUpToRefresh", Toast.LENGTH_SHORT).show();.new GetDataTask().execute();.}.});. . . .ListView actualListView = mPullRefreshListView.getRefreshableView();. .// Need to use the Actual ListView when registering for Context Menu.registerForContextMenu(actualListView);. .mListItems = new LinkedList<String>();.mListItems.addAll(Arrays.asList(mStrings));. .mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, mListItems);. ./**.* Add Sound Event Listener.*/. ./**.* 设置下拉刷新和上拉加载时的 铃声(可有可无).*/.SoundPullEventListener<ListView> soundListener = new SoundPullEventListener<ListView>(this);.soundListener.addSoundEvent(State.PULL_TO_REFRESH, R.raw.pull_event);.soundListener.addSoundEvent(State.RESET, R.raw.reset_sound);.soundListener.addSoundEvent(State.REFRESHING, R.raw.refreshing_sound);.mPullRefreshListView.setOnPullEventListener(soundListener);. .// You can also just use setListAdapter(mAdapter) or.// mPullRefreshListView.setAdapter(mAdapter).actualListView.setAdapter(mAdapter);. . . .}.//模拟网络加载数据的 异步请求类.//.private class GetDataTask extends AsyncTask<Void, Void, String[]> {. .//子线程请求数据.@Override.protected String[] doInBackground(Void... params) {.// Simulates a background job..try {.Thread.sleep();.} catch (InterruptedException e) {.}.return mStrings;.}. .//主线程更新UI.@Override.protected void onPostExecute(String[] result) {. .//向RefreshListView Item 添加一行数据 并刷新ListView.//mListItems.addLast("Added after refresh...");.mListItems.addFirst("Added after refresh...");.mAdapter.notifyDataSetChanged();. .//通知RefreshListView 我们已经更新完成.// Call onRefreshComplete when the list has been refreshed..mPullRefreshListView.onRefreshComplete();. .super.onPostExecute(result);.}.}. . . .//数据源.private String[] mStrings = { "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",."Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", "Aisy Cendre",."Allgauer Emmentaler", "Abbaye de Belloc", "Abbaye du Mont des Cats", "Abertam", "Abondance", "Ackawi",."Acorn", "Adelost", "Affidelice au Chablis", "Afuega'l Pitu", "Airag", "Airedale", "Aisy Cendre",."Allgauer Emmentaler" };.}

目前编码已经完成 我们测试一下

[置顶] Android屏幕适配(分辨率适配) 对于刚接触Android的新人和刚走上Android技术岗位的开发者们来说,在熟悉了相关之后,在项目完成后,就会面临着一个重大的挑战,那么就是屏幕适配的

onmeasure被调用了但是onlayout没有被调用 这个是做systemui的时候的一个bug,就是发现打开通知中心后,删除一个通知之后再也接收不到通知了,当然通知删除有个动画。通知列表放在一个scrollVie

android项目目录介绍之二 Devices:显示的是连接到Android开发环境的设备,包括模拟器和手机。Android的错误信息和调试信息都在logcat中打印在Android中,所有资源文件,都会在R.java中

标签: android开发最全教程

本文链接地址:https://www.jiuchutong.com/biancheng/374509.html 转载请保留说明!

上一篇:【Android】Eclipse自动编译NDK/JNI的三种方法(eclipse的android配置)

下一篇:[置顶] Android屏幕适配(分辨率适配)([置顶]游戏名:chivalry2)

  • 去年所得税汇算清缴补所得税
  • 城市维护建设税为什么是流转税
  • 个税的计算过程
  • 工商年报认缴时间填错了
  • 软件和硬件如何集合使用
  • 个体工商户开普票限额最新规定
  • 企业所得税的亏损怎么弥补
  • 小规模纳税人开工程款税率是多少
  • 陈列费属于什么大类
  • 企业减免的税费账务处理
  • 社保费个人承担部分
  • 工人工伤误工费赔偿多少一天
  • 自建厂房出售如何计算所得税
  • 城市维护建设税怎么做分录
  • 会计法对填制审核会计凭证有哪些规定
  • 长期挂账应付款的审计
  • 建筑行业异地预缴增值税
  • 置换回房产怎么过户
  • 股东转入的钱算什么
  • 职员在外地出差怎么处理
  • 车间报废产品改善方式
  • 物业公司代收水电费会计分录
  • 汽车公司场地租金怎么算
  • 哪些项目需要征税
  • 货物运输代理服务税率
  • 个人所得税申报错误如何更正申报
  • 纳税人为ETC卡充值取得财政票据进项税额抵扣问题
  • 在建工程的折旧费计入什么科目
  • 经营资产和金融资产有哪些
  • 退税账务处理分录
  • 小茴香的栽培技术
  • 允许税前扣除的税金
  • 大脊山,英格兰峰区国家公园 (© John Finney Photography/Moment/Getty Images)
  • 物业公司管理制度及工作要求
  • 企业利润分配的通常去向包括
  • php反射获取方法参数
  • php similar_text()函数的定义和用法
  • 谷歌colab免费额度
  • linux系统中安装auto dock
  • 可供出售权益工具减值
  • 购入固定资产怎么做账务处理
  • 一般纳税人是否享受减免政策
  • java静态方法和动态方法的区别
  • access导入到mysql
  • 有关预收款的说法
  • 资本公积 转增
  • 购买银行承兑汇票贴现诈骗
  • 模具成本核算汇总表
  • 研发支出的会计处理原则
  • 长期股权投资全部亏损汇算清缴怎么填
  • 如何查询公司的营业执照照片
  • 月报报表格式
  • 存货总账根据什么填列
  • 总账的建立
  • 私营企业固定资产法律制度
  • 数据库服务器配置方案
  • 分页存储过程的实现
  • MySql 5.6.35 winx64 安装详细教程
  • 微软宣布Q3推出MRTKV3工具包
  • 系统有乱码怎么解决
  • linux系统怎么固定ip地址
  • 2021年win10累积更新
  • 微软官方屏蔽更新工具
  • pg环境变量
  • excel中利用条件格式展示数据
  • c opengl
  • 设计一个windows
  • CSSvista可同时在IE和Fifrefox调试的CSS编辑提供下载
  • unity设置窗口位置
  • nodejs实现HTTPS发起POST请求
  • unity 优化
  • git 删除分支和回滚的实例详解
  • jquery实现div左右移动
  • 有几种导航
  • script标签可以放在html哪个位置
  • pythondjango框架 目录结构
  • under code
  • Sublime Text 3常用插件及安装方法
  • 小规模纳税人开专票可以抵扣吗
  • 汽车发票包含增值税吗
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设