- 浏览: 518218 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
效果图:
[img]
[/img]
主类:
布局文件:
[img]
[/img]
主类:
package com.amaker.listview2; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.BaseAdapter; import android.widget.LinearLayout; import android.widget.ListView; import android.widget.ProgressBar; import android.widget.TextView; import android.widget.Toast; import android.widget.AbsListView.OnScrollListener; import android.widget.LinearLayout.LayoutParams; public class ListViewForLoading extends Activity implements OnScrollListener { private listViewAdapter adapter = new listViewAdapter(); ListView listView; LinearLayout loadingLayout; private Thread mThread; /** * 设置布局显示属性 */ private LayoutParams mLayoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT); /** * 设置布局显示目标最大化属性 */ private LayoutParams FFlayoutParams = new LinearLayout.LayoutParams( LinearLayout.LayoutParams.FILL_PARENT, LinearLayout.LayoutParams.FILL_PARENT); private ProgressBar progressBar; private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub switch (msg.what) { case 1: if (adapter.count <= 41) { adapter.count += 10; int currentPage = adapter.count / 10; Toast.makeText(getApplicationContext(),"第" + currentPage + "页", Toast.LENGTH_LONG).show(); } else { listView.removeFooterView(loadingLayout); } //重新刷新Listview的adapter里面数据 adapter.notifyDataSetChanged(); break; default: break; } } }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); init(); } private void init() { // TODO Auto-generated method stub // 线性布局 LinearLayout layout = new LinearLayout(this); // 设置布局 水平方向 layout.setOrientation(LinearLayout.HORIZONTAL); // 进度条 progressBar = new ProgressBar(this); // 进度条显示位置 progressBar.setPadding(0, 0, 15, 0); // 把进度条加入到layout中 layout.addView(progressBar, mLayoutParams); // 文本内容 TextView textView = new TextView(this); textView.setText("加载中..."); textView.setGravity(Gravity.CENTER_VERTICAL); // 把文本加入到layout中 layout.addView(textView, FFlayoutParams); // 设置layout的重力方向,即对齐方式是 layout.setGravity(Gravity.CENTER); // 设置ListView的页脚layout loadingLayout = new LinearLayout(this); loadingLayout.addView(layout, mLayoutParams); loadingLayout.setGravity(Gravity.CENTER); // 得到一个ListView用来显示条目 listView = (ListView) findViewById(R.id.tv); // 添加到脚页显示 listView.addFooterView(loadingLayout); // 给ListView添加适配器 listView.setAdapter(adapter); // 给ListView注册滚动监听 listView.setOnScrollListener(this); } /** * 要用用于生成显示数据 * * @author huangbq * */ class listViewAdapter extends BaseAdapter { int count = 10; public int getCount() { return count; } public Object getItem(int pos) { return pos; } public long getItemId(int pos) { return pos; } public View getView(int pos, View v, ViewGroup p) { TextView view; if (v == null) { view = new TextView(ListViewForLoading.this); } else { view = (TextView) v; } view.setText("ListItem " + pos); view.setTextSize(20f); view.setGravity(Gravity.CENTER); view.setHeight(60); return view; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub if(firstVisibleItem+visibleItemCount==totalItemCount) { //开线程去下载网络数据 if (mThread == null || !mThread.isAlive()) { mThread = new Thread() { @Override public void run() { try { //这里放你网络数据请求的方法,我在这里用线程休眠5秒方法来处理 Thread.sleep(5000); } catch (InterruptedException e) { e.printStackTrace(); } Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; mThread.start(); } } } @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub } }
布局文件:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="listview滑动分页加载" /> <ListView android:layout_height="wrap_content" android:id="@+id/tv" android:layout_width="match_parent"/> </LinearLayout>
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 1907android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2013Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1472SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 724Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 695转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 965===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1638(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1371在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 935package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1181工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 945SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1163Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 756一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1089运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 864package com.zzl.tools; impor ...
相关推荐
ListView 动态加载,滑动加载,源代码案例
ListView每页加载10条数据,当滑动到页尾时自动加载下面的数据。
本代码实例实现ListView滑动到底步快速加载,并加入缓存处理功能,仅供参考!
listview滑动到底部自动加载数据,并显示滚动的底部的那个条目,点击按钮回到顶部.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
android listview滑动到底部加载更多数据
ListView加入表头和表尾,每次显示特定数目item,随croll滑动,到最低端时自动加载。
Fragment+ListView下拉加载上拉刷新
Android ListView 滑动分页 分页加载数据
AsyncTask的使用及ListView的常见优化 asyncTask异步加载数据 使用了LruCache优化图片加载 通过滑动监听提高ListView滑动流畅度.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习...
一个监听ListView滑动到底部,然后自动加载新的内容的Demo
android Listview下拉刷新 上拉(滑动分页)加载更多 高仿新浪微博下拉刷新,同时实现了滑动加载下一页
ListView滑动至底部 加载更多出现 ListView显示新加载数据
android ListView滑动分页加载和点击分页加载,以及复用convertView综合案例
实现了listview滑动删除功能的下拉刷新加载更多功能的整合
http://blog.csdn.net/qq_32673327/article/details/52012327 这是关于Demo实现的博客
android Listview分批加载+自动加载改进版(附源码下载) 博客地址:
①ListView异步加载图片的方式 ②给ImageView设置Tag,解决图片覆盖...④当ListView滚动时不加载图片,滚动停止时才加载图片,从而达到ListView滑动很流畅的效果 ⑤当ListView加载图片时只加载当前屏幕内可见的条目
Xamarin 简易知乎日报客户端 有ListView滑动取消加载、静止异步加载、下拉刷新、上拉加载的功能 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。...
listview滑动到底部自动加载。我尽量将代码复杂度降到最低,方便初学者学习。