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 自定义toggle Button按钮
  2. Arduino相关
  3. Android点击按钮实现全屏的代码
  4. Android(安卓)9.0 (P版本) 亮度控制接口变更
  5. android简单的动态控制软键盘的显隐
  6. android > intent > 自动跳转到 系统 设置 页面
  7. Android往SD卡上存储文件
  8. android 按钮变化颜色
  9. AndroidManifest.xml文件详解(uses-configuration)

随机推荐

  1. uri is not registered
  2. Android 使用zxing扫描二维码横屏转竖屏
  3. 小米5手机Android运行程序闪退出错解决方
  4. 携程Android App插件化和动态加载实践
  5. Android 查看SHA1值的方法
  6. Android中TextClock中的一个abc函数
  7. 从另一种方式理解Android消息处理机制
  8. Android实现类似有Table边框的布局
  9. Android 快速学习onTouch,并完成实验单点
  10. Android Glide加载图片,宽度占满屏幕高度