文档章节

listview 分页加载

 阿狸的青春
发布于 2016/04/13 12:28
字数 254
阅读 7
收藏 0
MainActivity主页面

package com.example.listviewload;

import java.util.ArrayList;
import java.util.List;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.ViewTreeObserver.OnScrollChangedListener;
import android.widget.AbsListView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivity extends Activity implements OnScrollListener{
     private ListView listv;
     private List<String> list=null;
     private boolean isLoad=false;
     private ArrayAdapter<String> adapter=null;
     private int count=1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listv=(ListView) findViewById(R.id.listv);
        list=new ArrayList<String>();
        
        initData("");
        adapter=new ArrayAdapter<String>(getApplicationContext(), R.layout.list_pager_item,list);
        listv.setAdapter(adapter);
        listv.setOnScrollListener(this);
    }

    private void initData(String par) {
        // TODO Auto-generated method stub
        for(int i=0;i<20;i++){
            list.add(par+"android"+i);
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem,
            int visibleItemCount, int totalItemCount) {
        // TODO Auto-generated method stub
        isLoad=((firstVisibleItem+visibleItemCount)==totalItemCount);
        
    }
    /* (non-Javadoc)
     *
     * SCROLL_STATE_FLING 手指做出抛的动作
     * SCROLL_STATE_IDLE 停止滚动
     * SCROLL_STATE_TOUCH_SCROLL 手指在屏幕上,屏幕滚动
     * @see android.widget.AbsListView.OnScrollListener#onScrollStateChanged(android.widget.AbsListView, int)
     */
    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        // TODO Auto-generated method stub
        //如果是要加载并且滚动状态 == 停止滚动
        if(isLoad&&scrollState==OnScrollListener.SCROLL_STATE_IDLE){
            Toast.makeText(getApplicationContext(), "开始加载数据", 0).show();
            initData("1407a"+count);//加载新的数据
            count++;
            //刷新数据
            adapter.notifyDataSetChanged();
        }
    }

   }

注意布局仅仅是textview

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="20sp"
    android:text="aaa">
    
    

</TextView>

© 著作权归作者所有

粉丝 0
博文 18
码字总数 8352
作品 0
海淀
私信 提问
基于Android官方AsyncListUtil优化经典ListView分页加载机制(二)

基于Android官方AsyncListUtil优化经典ListView分页加载机制(二) 我写的附录文章1,介绍了如何使用Android官方的分页加载框架AsyncListUtil优化改进常见的RecyclerView分页加载实现。Async...

zhangphil
2017/11/27
0
0
listview的优化问题

求助高手 们listview的优化问题 listview的分批加载 listview的分页加载 listview的动态加载 我想知道大概的思路或原理?以及应用场景,谢谢

Thanks
2012/08/11
464
0
Android中ListView分页加载数据

Android应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过分页的形式来展示数据,个人觉得这样...

鉴客
2011/11/14
22.4K
0
Android In ListView Loading Data

Android 应用开发中,采用ListView组件来展示数据是很常用的功能,当一个应用要展现很多的数据时,一般情况下都不会把所有的数据一次就展示出来,而是通过 分页的形式来展示数据,个人觉得这...

MrLovelyCbb
2012/06/21
167
0
实现ListView的分页加载功能

实现ListView的分页加载功能 2012年02月13日 ⁄ Android 编程 ⁄ 暂无评论 ⁄ 被围观 6,215 次+ 上图是一个新闻客户端的显示界面,新闻的信息是显示在ListView的控件中,我们知道要显示的新闻...

等待流星
2014/04/08
173
0

没有更多内容

加载失败,请刷新页面

加载更多

R语言基本命令,dataframe增删改查

基本操作: 查询变量类型(假设变量名是a) class(a) 在R语言中: T 代表--> True F 代表--> False 与、或运算符 读取: 读取csv文件到dataframe(字符串不当作factor类型来处理,csv的na不作...

flash胜龙
26分钟前
4
0
重看《功夫熊猫1》却有了另一番感触

最近带着小孩,又看了一遍电影《功夫熊猫1》。但这次中间的很多情节,让我有了另一番新的感触。 电影的开头是熊猫阿宝,在梦里成为了一个武功盖世的大侠。这是他最大的梦想。 当阿宝热情洋溢...

我是菜鸟我骄傲
29分钟前
9
1
3.设计模式之二:原型模式【创建型模式】

在有些系统中,存在大量相同或相似对象的创建问题,如果用传统的构造函数来创建对象,会比较复杂且耗时耗资源,用原型模式生成对象就很高效,就像孙悟空拔下猴毛轻轻一吹就变出很多孙悟空一样...

Eappo_Geng
38分钟前
6
0
Springboot+Junit测试出现No tests found matching

话不多说,出现以下错误,如果各注解都没问题,请检查包路径 测试用例包路径必须跟项目启动类包路径一致,不然也会报下面错误 java.lang.Exception: No tests found matching [{ExactMatche...

fangsw
45分钟前
5
0
封装,继承,多态?

1. 封装? 封装指的是利用抽象数据类型将数据和基于数据操作全部放在一个类里,使其构成一个不可分割的实体。数据被保护在抽象数据类型的内部,尽可能地隐藏内部的实现细节,并对外只提供操作...

happywe
46分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部