引用:http://www.cnblogs.com/oldfeel/archive/2012/06/01/2530584.html

<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/arc_hf_search_result"    android:layout_width="match_parent"    android:layout_height="match_parent" >    <LinearLayout        android:id="@+id/arc_hf_search_item"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:orientation="vertical" >    </LinearLayout></ScrollView>

ArcHFSearchResult.java

public class ArcHFSearchResult extends Activity {    protected static final String TAG = "ArcHFSearchResult";    private ScrollView svResult;    private LinearLayout llItem;    private String[] arrayStr;    private int pageCount = 0;    private int resultCount = 10000;    private int eachCount = 3000;    private View view;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        svResult = (ScrollView) findViewById(R.id.arc_hf_search_result);        llItem = (LinearLayout) findViewById(R.id.arc_hf_search_item);        svResult.setOnTouchListener(svListener);        view = svResult.getChildAt(0);        // 将要显示的10000条数据        arrayStr = new String[resultCount];        for (int i = 0; i < resultCount; i++) {            arrayStr[i] = i + "";        }        // 第一次添加数据,每次添加3000条。        AddResult();    }    class svTouchListener implements OnTouchListener {        @Override        public boolean onTouch(View v, MotionEvent event) {            switch (event.getAction()) {            case MotionEvent.ACTION_DOWN:                break;            case MotionEvent.ACTION_UP:                // 如果触发监听事件,并且有内容,并且ScrollView已经拉到底部,加载一次数据                if (svListener != null                        && view != null                        && view.getMeasuredHeight() - 20 <= svResult                                .getScrollY() + svResult.getHeight()) {                    AddResult();                }                break;            default:                break;            }            return false;        }    }    svTouchListener svListener = new svTouchListener();    /**     * 添加结果     */    protected void AddResult() {        if (eachCount * pageCount < resultCount) {            for (int i = 0; i < eachCount; i++) {                int k = i + eachCount * pageCount;                if (k >= resultCount)                    break;                TextView tv = new TextView(this);                tv.setText("hello world" + arrayStr[k]);                llItem.addView(tv);            }            pageCount++;        }    }}

更多相关文章

  1. 腾讯代理下载Android(安卓)SDK
  2. android设备添加F1-F12按键功能
  3. android SQLite
  4. Android通过http协议POST传输方式
  5. webView去掉右侧导航条
  6. Launcher开发笔记4—壁纸
  7. Android中常用的Intent.Action整理
  8. Android(安卓)在某一页禁止home键返回
  9. android 百度地图轨迹回放

随机推荐

  1. android TabHost(选项卡)的使用方法
  2. Android(安卓)ZBar bar code reader二维
  3. Android中动态图形的绘制(一)
  4. Android处适应布局
  5. 关于VMware 虚拟机使用时,一打开虚拟机就
  6. TP Facade、多应用与Vue3(三)
  7. phpscoket.io 配置ssl证书
  8. 太极图作业
  9. 给linux(centos)操作系统设置主机名的几
  10. MVC实例演示