android滑动的时候加载数据,Android 滑动加载数据

package  com.ScrollListView;

import  Android.app.ListActivity;

import  android.os.Bundle;

import  android.view.Gravity;

import  android.view.View;

import  android.view.ViewGroup;

import  android.widget.AbsListView;

import  android.widget.BaseAdapter;

import  android.widget.LinearLayout;

import  android.widget.ProgressBar;

import  android.widget.TextView;

import  android.widget.AbsListView.OnScrollListener;

public   class  EndLessActivity  extends  ListActivity  implements  OnScrollListener  {

Aleph0 adapter  =   new  Aleph0();

int  mProgressStatus  =   0 ;

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);

setListAdapter(adapter);

getListView().setOnScrollListener( this );

}

public   void  onScroll(AbsListView view,

int  firstVisible,  int  visibleCount,  int  totalCount) {

boolean  loadMore  =   /*  maybe add a padding  */

firstVisible  +  visibleCount  >=  totalCount;

if (loadMore) {

adapter.count  +=  visibleCount;  //  or any other amount

adapter.notifyDataSetChanged();

}

}

public   void  onScrollStateChanged(AbsListView v,  int  s) { }

class  Aleph0  extends  BaseAdapter {

int  count  =   40 ;  /*  starting amount  */

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(EndLessActivity. this );

view.setText( " entry  "   +  pos);

return  view;

}

}

}

listview下部是按钮控制:

package  com.ScrollListView;

import  android.app.ListActivity;

import  android.os.Bundle;

import  android.view.Gravity;

import  android.view.View;

import  android.view.ViewGroup;

import  android.widget.AbsListView;

import  android.widget.BaseAdapter;

import  android.widget.Button;

import  android.widget.LinearLayout;

import  android.widget.ProgressBar;

import  android.widget.TextView;

import  android.widget.AbsListView.OnScrollListener;

public   class  EndLessActivity  extends  ListActivity   {

Aleph0 adapter  =   new  Aleph0();

int  mProgressStatus  =   0 ;

protected   void  onCreate(Bundle savedInstanceState) {

super .onCreate(savedInstanceState);

LinearLayout searchLayout  =   new  LinearLayout( this );

searchLayout.setOrientation(LinearLayout.HORIZONTAL);

Button textView  =   new  Button( 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);

textView.setOnClickListener( new  Button.OnClickListener()

{        @Override

public   void  onClick(View v)

{

adapter.count  +=   10 ;

adapter.notifyDataSetChanged();

}

});

setListAdapter(adapter);

// getListView().setOnScrollListener(this);

}

/* public void onScroll(AbsListView view,

int firstVisible, int visibleCount, int totalCount) {

boolean loadMore =

firstVisible + visibleCount >= totalCount;

if(loadMore) {

adapter.count += visibleCount;

adapter.notifyDataSetChanged();

}

}  */

public   void  onScrollStateChanged(AbsListView v,  int  s) { }

class  Aleph0  extends  BaseAdapter {

int  count  =   40 ;  /*  starting amount  */

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(EndLessActivity. this );

view.setText( " entry  "   +  pos);

return  view;

}

}

}0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值