ListView刷新分页:
package com.example.android_listview_activity; import java.util.ArrayList; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.view.ViewGroup; import android.widget.AbsListView; import android.widget.AbsListView.OnScrollListener; import android.widget.BaseAdapter; import android.widget.ListView; import android.widget.TextView; /** * @desc 分页 * @author ljt * @time 2014年8月27日 上午11:15:27 */ public class MainActivity6 extends Activity implements OnScrollListener{ private ListView listView; private ViewHolder holder; private int visibleCount; private MyAdapter adapter; private ArrayList<Blog> blogList= new ArrayList<Blog>(); /** * 初始化数据 */ private void initData(){ for(int i = 1;i<=10;i++){ Blog blog = new Blog(); blog.setContent("内容:"+i); blog.setTitle("标题"+i); blogList.add(blog); } } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView)this.findViewById(R.id.listView1); View foot = getLayoutInflater().inflate(R.layout.foot,null); // 添加尾部view listView.addFooterView(foot); listView.setOnScrollListener(this); initData(); adapter = new MyAdapter(); listView.setAdapter(adapter); } /** * 滚动 */ @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { System.out.println("firstVisibleItem=="+firstVisibleItem); System.out.println("visibleItemCount=="+visibleItemCount); System.out.println("totalItemCount=="+totalItemCount); visibleCount = firstVisibleItem + visibleItemCount -1 ; System.out.println("visibleItemCount is =="+visibleCount); } /** * 线程之间通讯处理器 */ private Handler handler = new Handler(){ public void handleMessage(Message msg) { System.out.println("msg.what==:"+msg.what); switch (msg.what) { case 1: // 数据加载完成 重新刷新listView adapter.notifyDataSetChanged(); break; default: break; } }; }; /** * 滚动状态变更 */ @Override public void onScrollStateChanged(AbsListView view, int scrollState) { System.out.println("visibleItemCount == "+visibleCount); // 停止状态 并且是最后一个值 if(visibleCount == adapter.getCount() && scrollState == OnScrollListener.SCROLL_STATE_IDLE){ System.out.println("启动线程 == "); // 加载新数据 Thread t = new Thread(new loadData()); t.start(); } } /** * @desc 加载数据 * @author ljt * @time 2014年8月27日 下午4:03:27 */ class loadData implements Runnable{ @Override public void run() { System.out.println("线程initData == "); initData(); // 通知主线程 数据已加载完毕 handler.sendEmptyMessage(1); } } /** * @desc 自定义适配器 * @author ljt * @time 2014年8月27日 上午11:09:13 */ class MyAdapter extends BaseAdapter{ /** * How many items are in the data set represented by this Adapter. */ @Override public int getCount() { return blogList.size(); } /** * Get the data item associated with the specified position in the data set. */ @Override public Object getItem(int position) { return blogList.get(position); } /** * Get the row id associated with the specified position in the list. */ @Override public long getItemId(int position) { return position; } /** * 创建列表项 */ @Override public View getView(int position, View convertView, ViewGroup parent) { if(null == convertView){ convertView = getLayoutInflater().inflate(R.layout.source3,null); TextView title = (TextView)convertView.findViewById(R.id.title); TextView content = (TextView)convertView.findViewById(R.id.content); holder = new ViewHolder(); holder.title = title; holder.content = content; convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.title.setText(blogList.get(position).getTitle()); holder.content.setText(blogList.get(position).getContent()); return convertView; } } class ViewHolder{ private TextView title; private TextView content; } }
相关推荐
### Patch 1.8.7.3 (ReactJS) - Update to react 15.5 - Webpack 2.6 - Freeze dependencies - Refactor reflux examples - ES6 class components - Refactor to eliminate deprecation warnings - More plugin ...
例如,我们可以定义不同的电压标准,例如 1.8V 和 3.3V。通过选择合适的层次,可以生成不同的器件。 Parameterized shapes 选项可以定义多层次的参数化设置,例如 via、metal 等。 4. Parameterized layers ...
Its unique flat design and responsive layout is crafted one of a kind. SmartAdmin includes 7 version variations: Static HTML, AJAX, PHP, AngularJS 4.0, RubyOnRails, ReactJS and ASP.NET versions. Each...
录音笔LAYOUT pcb参考 TL005加电池保护4层 PCB20150425 V1.8.pcb
Its unique flat design and responsive layout is crafted one of a kind. SmartAdmin includes 7 version variations: Static HTML, AJAX, PHP, AngularJS 4.0, RubyOnRails, ReactJS and ASP.NET versions. Each...
Section 1.8. Resources Section 1.9. Styles and Control Templates Section 1.10. Graphics Section 1.11. Application Deployment Section 1.12. Where Are We? Chapter 2. Layout Section 2.1. ...
骁龙652虽然还是28nm工艺,但是加入了新的A72架构,集成四颗A72 1.8GHz、四颗A53 1.4GHz CPU核心以及Adreno 510 GPU核心,支持双通道LPDDR3内存,还有X8 LTE Cat.7基带,整体表现甚至不输于骁龙810。
• 具有3.3V/2.5V/1.8V耐压I/O的RGMII • 可 自 动 选 择 最 高 链 路 接 通 速 度(10/100/1000 Mbps)和双工模式(半双工/全双工)的自动协商 功能 • 用于差分对的片上端接电阻 • 支持 3.3V单电源操作的片...
1.8. Layout和打印 175 1.8.1. 如何在Page Layout上添加Text 175 1.8.2. 如何在Page Layout上添加Legend 176 1.8.3. 如何在Page Layout上添加North Arrow 179 1.8.4. 如何在Page Layout上添加Scale bar 180 1.8.5. ...
人工智能平台(AI)openpai配置文件与github下载包,其中配置文件有layout.yaml、config.yaml,github下载包有calicoctl与cni-plugins,安装过程中两个包下载不来,可通过手动方式下载上传到目的文件夹
这个是原厂的参考设计原理图,可以直layout用于验证设计,ITE6801FN支持LVCMOS输出,支持1.8V和3.3V的接口,对于有些只支持1.8VIO的IC可以考虑用这个来设计,支持RGB,YUV422的输出。
包括板材选择、线宽、线间距、阻抗设计等
1.8. Dialog Bar 1.9. Resizable Dialog Bar Deriving New Class from CDialogBar Resizing Edit Control Dynamic Layout Using the New Class 1.10. Adding Flyby and Tool Tip 1.11. Toggling Control Bars On/Off...
Layout Objects - High-level layout driver objects Scripts - Identifying writing systems Vertical Text - Laying text out in vertical directions Rendering with Pango Win32 Fonts and Rendering - ...
1. 基础篇. 1 1.1. 开发环境. 1 1.2. 用户界面....1.3. GeoDataBase 31 1.4. Display 95 1.5. 图元编辑....1.6. Element 156 1.7. Symbol和Renderer 178 1.8. Layout和打印. 196 1.9. 坐标系统. 217 2. 提高篇. 251
(1.8V和3.3V) ),最大电流120mA),5V须先经过一个二极管或者限流电阻再进入LDOIN。 3、AX20xx内部集成 外部音频输入通道(P34与P35、P36与P37,AX2009有两路,AX2006有一路),如需使用外部音频输入通道,必须加静音...
系统需要Jquery 1.8+。 根据尚未生效的新SPID UX准则, 存储库包含更新的模板。 第三方组件许可证 执照 css/main.min.css的Titillium字体来自[Accademia di Belle Arti Urbino]( )许可的[SIL Open Font License ...
(一) 实验目的 了解印刷偶极子天线的结构和工作原理 学习使用ADS Momentum设计天线的基本方法 ...熟悉ADS Layout的使用环境。 使用ADS软件设计一个1.8GHz的印刷偶极子天线。 通过仿真分析该天线的性能
•Zend Framework 1.8 •Zend Framework 1.7 •Zend Framework 1.6 •Zend Framework 1.5 •Zend Framework 1.0 •Zend Framework 0.9 •Zend Framework 0.8 •Zend Framework 0.6 •Zend Framework ...