android滑动分页

 

作者:Sanvi          邮箱:sanvibyfish@gmail.com 转载请注明来源!

 

 

实现原理

通过手指的滑动,判断数据大小

然后动态改变数据

底部的加载是一个view

import android.app.ListActivity;
import android.os.Bundle;
import android.os.Handler;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AbsListView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ProgressBar;
import android.widget.TextView;
import android.widget.AbsListView.OnScrollListener;
import android.widget.LinearLayout.LayoutParams;

public class Test extends ListActivity implements OnScrollListener {
    Aleph0 adapter = new Aleph0();
    int lastItem = 0;
    int mProgressStatus = 0;
    private Handler mHandler = new Handler();
    ProgressBar progressBar;
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
   LinearLayout searchLayout = new LinearLayout(this);
   searchLayout.setOrientation(LinearLayout.HORIZONTAL);
         progressBar = new ProgressBar(this);
         progressBar.setPadding(0, 0, 15, 0);
         searchLayout.addView(progressBar,new LinearLayout.LayoutParams(
           LinearLayout.LayoutParams.WRAP_CONTENT,
           LinearLayout.LayoutParams.WRAP_CONTENT
         ));
         TextView textView = new TextView(this);
         textView.setText("加载中...");
         textView.setGravity(Gravity.CENTER_VERTICAL);
         searchLayout.addView(textView,new LinearLayout.LayoutParams(
           LinearLayout.LayoutParams.FILL_PARENT,
           LinearLayout.LayoutParams.FILL_PARENT
         ));
         searchLayout.setGravity(Gravity.CENTER);
         LinearLayout loadingLayout = new LinearLayout(this);
         loadingLayout.addView(searchLayout,new LinearLayout.LayoutParams(
           LinearLayout.LayoutParams.WRAP_CONTENT,
           LinearLayout.LayoutParams.WRAP_CONTENT
         ));
         loadingLayout.setGravity(Gravity.CENTER);
        getListView().addFooterView(loadingLayout);
        // Start lengthy operation in a background thread
//        new Thread(new Runnable() {
//            public void run() {
//                while (mProgressStatus < 100) {
//
//                    // Update the progress bar
//                    mHandler.post(new Runnable() {
//                        public void run() {
//                        progressBar.setProgress(mProgressStatus);
//                        }
//                    });
//                }
//            }
//        }).start();
        registerForContextMenu(getListView());
        setListAdapter(adapter);
        getListView().setOnScrollListener(this);
    }

    public void onScroll(AbsListView v, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        lastItem = firstVisibleItem + visibleItemCount - 1 ;
        System.out.println("lastItem:" + lastItem);
    }

    public void onScrollStateChanged(AbsListView v, int state) {
    if(lastItem == adapter.count && state == OnScrollListener.SCROLL_STATE_IDLE){
          adapter.count += 10;
          adapter.notifyDataSetChanged();
    }
//        if(state == OnScrollListener.SCROLL_STATE_IDLE ) {
//                adapter.count += 10;
//                adapter.notifyDataSetChanged();
//        }
    }

    class Aleph0 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 = new TextView(Test.this);
                view.setText("entry " + pos);
                view.setHeight(90);
                return view;
        }
    }
}


 

阅读更多
想对作者说点什么? 我来说一句

android按钮分页滑动分页

2012年05月21日 62KB 下载

android gridview分页滑动效果

2015年08月27日 1.21MB 下载

Android ListView 滑动分页

2013年05月22日 989KB 下载

android listview左右滑动分页

2014年05月04日 1.47MB 下载

Android 滑动效果 华丽翻页效果

2012年04月22日 936KB 下载

没有更多推荐了,返回首页

不良信息举报

android滑动分页

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭