ORIETech - Mobile Application Development

packagecom.ScrollListView;
importandroid.app.ListActivity;
importandroid.os.Bundle;
importandroid.view.Gravity;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AbsListView;
importandroid.widget.BaseAdapter;
importandroid.widget.LinearLayout;
importandroid.widget.ProgressBar;
importandroid.widget.TextView;
importandroid.widget.AbsListView.OnScrollListener;
publicclassEndLessActivityextendsListActivityimplementsOnScrollListener {

Aleph0 adapter=
newAleph0();
intmProgressStatus=0;
ProgressBar progressBar;
protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout searchLayout=
newLinearLayout(this);
searchLayout.setOrientation(LinearLayout.HORIZONTAL);
progressBar=
newProgressBar(this);
progressBar.setPadding(0,0,15,0);
searchLayout.addView(progressBar,
newLinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
));
TextView textView=
newTextView(this);
textView.setText("
加载中...");
textView.setGravity(Gravity.CENTER_VERTICAL);
searchLayout.addView(textView,
newLinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT
));
searchLayout.setGravity(Gravity.CENTER);
LinearLayout loadingLayout=
newLinearLayout(this);
loadingLayout.addView(searchLayout,
newLinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
));
loadingLayout.setGravity(Gravity.CENTER);
getListView().addFooterView(loadingLayout);
setListAdapter(adapter);
getListView().setOnScrollListener(
this);
}

publicvoidonScroll(AbsListView view,
intfirstVisible,intvisibleCount,inttotalCount) {

booleanloadMore=/*maybe add a padding*/
firstVisible+visibleCount>=totalCount;

if(loadMore) {
adapter.count+=visibleCount;
//or any other amount
adapter.notifyDataSetChanged();
}
}

publicvoidonScrollStateChanged(AbsListView v,ints) { }

classAleph0extendsBaseAdapter {
intcount=40;/*starting amount*/

publicintgetCount() {returncount; }
publicObject getItem(intpos) {returnpos; }
publiclonggetItemId(intpos) {returnpos; }

publicView getView(intpos, View v, ViewGroup p) {
TextView view=
newTextView(EndLessActivity.this);
view.setText("entry"+pos);
returnview;
}
}
}

listview下部是按钮控制:

packagecom.ScrollListView;
importandroid.app.ListActivity;
importandroid.os.Bundle;
importandroid.view.Gravity;
importandroid.view.View;
importandroid.view.ViewGroup;
importandroid.widget.AbsListView;
importandroid.widget.BaseAdapter;
importandroid.widget.Button;
importandroid.widget.LinearLayout;
importandroid.widget.ProgressBar;
importandroid.widget.TextView;
importandroid.widget.AbsListView.OnScrollListener;
publicclassEndLessActivityextendsListActivity {

Aleph0 adapter=
newAleph0();
intmProgressStatus=0;

protectedvoidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
LinearLayout searchLayout=
newLinearLayout(this);
searchLayout.setOrientation(LinearLayout.HORIZONTAL);

Button textView=
newButton(this);
textView.setText("
加载中...");
textView.setGravity(Gravity.CENTER_VERTICAL);
searchLayout.addView(textView,
newLinearLayout.LayoutParams(
LinearLayout.LayoutParams.FILL_PARENT,
LinearLayout.LayoutParams.FILL_PARENT
));
searchLayout.setGravity(Gravity.CENTER);
LinearLayout loadingLayout=
newLinearLayout(this);
loadingLayout.addView(searchLayout,
newLinearLayout.LayoutParams(
LinearLayout.LayoutParams.WRAP_CONTENT,
LinearLayout.LayoutParams.WRAP_CONTENT
));
loadingLayout.setGravity(Gravity.CENTER);
getListView().addFooterView(loadingLayout);
textView.setOnClickListener(
newButton.OnClickListener()
{ @Override
publicvoidonClick(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();
}
}
*/

publicvoidonScrollStateChanged(AbsListView v,ints) { }

classAleph0extendsBaseAdapter {
intcount=40;/*starting amount*/

publicintgetCount() {returncount; }
publicObject getItem(intpos) {returnpos; }
publiclonggetItemId(intpos) {returnpos; }

publicView getView(intpos, View v, ViewGroup p) {
TextView view=
newTextView(EndLessActivity.this);
view.setText("entry"+pos);
returnview;
}
}
}

更多相关文章

  1. Android点击按钮实现全屏的代码
  2. android 按钮变化颜色
  3. Android 通过按钮弹出菜单(通过Button显示菜单)
  4. Androidstudio开发button按钮的操作以及项目开发大致过程
  5. Android之——史上最简单自定义开关按钮的实现
  6. 安卓开发中开关按钮ToggleButton和开关Switch(总结)
  7. [Android菜鸟笔记]xml实现编辑框/按钮的椭圆样(shape标签)+应用
  8. 编写Android自定义按钮

随机推荐

  1. Android Terminal Emulator 在Desire上的
  2. Android Studio中AVD SDk找不到的解决办
  3. 极光推送实现精确对点推送机制
  4. Android学习笔记(三一):线程:Message和Runnab
  5. 使用RxJava和RxAndroid封装RxBus,实现Even
  6. 解决:AndroidStudio 下使用AIDL不能生成对
  7. 哪个移动系统适合程序员?
  8. [置顶] Android系统体系结构分析
  9. Android消息推送接收后,通知栏的显示
  10. Android RxJava 使用RxJava开发