gryphone 发表于 2013-1-30 01:19:34

ListView 内容之分批显示

ListView  内容循环显示
 
 
大家试想 假如ListView待显示的数据很庞大 从0-100  如果按照ListView默认行为 用户要找到50记录 可能要滚动很久
 
这显然会影响用户体验  本文的宗旨:解决这一问题
 
 
 
 
[思路]
 
思路很简单
 
1.  自定义BaseAdapter
 
2.   其 getCount() 返回一个固定值 比如:5   那么ListView就会只显示5个记录
 
3. 其 getView()  必须返回0-100记录 但需要分批显示 那如何实现呢?
 
 
定义 int index = 0;  用于记录显示当前数据的次序  用户显示下批数据 那么index++  反之 显示以前 就index--
 
 
 
即: BaseAdapter 应该类似于这种形态 这仅仅是示例
 
public class ItemAdapter extends BaseAdapter {Activity a;String[] data = {//.......};@Overridepublic int getCount() {// TODO Auto-generated method stubreturn 5;}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubTextView tv = new TextView(a);tv.setText(data);return null;}} 
 
 
 
但是 会有一些别的问题
 
 
1.  当数据已经取到最后一批 那么应该使"向下翻页"Button 反白  即:不可单击
 
 
2. 同理 若此前目标是第一批数据 "向上翻页"Button 也应该反白
 
 
 
 
不说了 这个问题 牵扯的东西太多 我也解决了一些 现释放代码 对该问题感兴趣的可以下载运行看看
 
 
仅补贴图
 
1.  第一页数据
 
http://dl.iteye.com/upload/picture/pic/65851/a0f73540-4ba8-3c53-92e0-e0ff2c4c7459.png
 
 
 
2.  最后一页数据
 
 http://dl.iteye.com/upload/picture/pic/65849/620db053-9aea-3c9e-9c91-af7aa551dd60.png
 
 
 
页: [1]
查看完整版本: ListView 内容之分批显示