`
- 浏览:
21501888 次
- 性别:
- 来自:
杭州
-
- packagehbq.android.myapp.listview;
- importandroid.app.ListActivity;
- importandroid.os.Bundle;
- importandroid.util.Log;
- importandroid.view.Gravity;
- importandroid.view.View;
- importandroid.view.ViewGroup;
- importandroid.widget.AbsListView;
- importandroid.widget.BaseAdapter;
- importandroid.widget.LinearLayout;
- importandroid.widget.ListView;
- importandroid.widget.ProgressBar;
- importandroid.widget.TextView;
- importandroid.widget.Toast;
- importandroid.widget.AbsListView.OnScrollListener;
- importandroid.widget.LinearLayout.LayoutParams;
- publicclassMainActivityextendsListActivityimplementsOnScrollListener{
- privatestaticfinalStringTAG="MainActivity";
- privateListViewAdapteradapter=newListViewAdapter();
- ListViewlistView;
- privateintlastItem=0;
- LinearLayoutloadingLayout;
- privateLayoutParamsmLayoutParams=newLinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT);
- privateLayoutParamsFFlayoutParams=newLinearLayout.LayoutParams(
- LinearLayout.LayoutParams.FILL_PARENT,
- LinearLayout.LayoutParams.FILL_PARENT);
- privateProgressBarprogressBar;
- @Override
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- Log.i(TAG,"onCreate(BundlesavedInstanceState)>>>>>>>>>>>>>>>");
- LinearLayoutlayout=newLinearLayout(this);
- layout.setOrientation(LinearLayout.HORIZONTAL);
- progressBar=newProgressBar(this);
- progressBar.setPadding(0,0,15,0);
- layout.addView(progressBar,mLayoutParams);
- TextViewtextView=newTextView(this);
- textView.setText("加载中...");
- textView.setGravity(Gravity.CENTER_VERTICAL);
- layout.addView(textView,FFlayoutParams);
- layout.setGravity(Gravity.CENTER);
- loadingLayout=newLinearLayout(this);
- loadingLayout.addView(layout,mLayoutParams);
- loadingLayout.setGravity(Gravity.CENTER);
- listView=getListView();
- listView.addFooterView(loadingLayout);
- setListAdapter(adapter);
- listView.setOnScrollListener(this);
- }
- @Override
- publicvoidonScroll(AbsListViewv,intfirstVisibleItem,
- intvisibleItemCount,inttotalItemCount){
- Log.i(TAG,"Scroll>>>first:"+firstVisibleItem+",visible:"
- +visibleItemCount+",total:"+totalItemCount);
- lastItem=firstVisibleItem+visibleItemCount-1;
- Log.i(TAG,"Scroll>>>lastItem:"+lastItem);
- if(adapter.count<=41){
- if(firstVisibleItem+visibleItemCount==totalItemCount){
- adapter.count+=10;
- adapter.notifyDataSetChanged();
- listView.setSelection(lastItem);
- intcurrentPage=adapter.count/10;
- Toast.makeText(getApplicationContext(),
- "第"+currentPage+"页",Toast.LENGTH_LONG).show();
- }
- }else{
- listView.removeFooterView(loadingLayout);
- }
- }
- @Override
- publicvoidonScrollStateChanged(AbsListViewv,intstate){
- if(lastItem==adapter.count
- &&state==OnScrollListener.SCROLL_STATE_IDLE){
- Log.i(TAG,"ScrollStateChanged>>>state:"+state+"lastItem:"
- +lastItem);
- if(adapter.count<=41){
- adapter.count+=10;
- adapter.notifyDataSetChanged();
- }
- }
- }
- classListViewAdapterextendsBaseAdapter{
- intcount=10;
- publicintgetCount(){
- Log.i(TAG,"getCount>>>count:"+count);
- returncount;
- }
- publicObjectgetItem(intpos){
- Log.i(TAG,"getItem>>>pos:"+pos);
- returnpos;
- }
- publiclonggetItemId(intpos){
- Log.i(TAG,"getItemId>>>ItemId:"+pos);
- returnpos;
- }
- publicViewgetView(intpos,Viewv,ViewGroupp){
- Log.i(TAG,"getView>>>pos:"+pos);
- TextViewview;
- if(v==null){
- view=newTextView(MainActivity.this);
- }else{
- view=(TextView)v;
- }
- view.setText("ListItem"+pos);
- view.setTextSize(20f);
- view.setGravity(Gravity.CENTER);
- view.setHeight(60);
- returnview;
- }
- }
- }
- packagehbq.android.myapp.listview;
- importandroid.app.ListActivity;
- importandroid.os.Bundle;
- importandroid.util.Log;
- importandroid.view.Gravity;
- importandroid.view.View;
- importandroid.view.ViewGroup;
- importandroid.widget.BaseAdapter;
- importandroid.widget.Button;
- importandroid.widget.LinearLayout;
- importandroid.widget.ListView;
- importandroid.widget.TextView;
- importandroid.widget.Toast;
- importandroid.widget.LinearLayout.LayoutParams;
- publicclassButtonLoadingActivityextendsListActivity{
- privatestaticfinalStringTAG="ButtonLoadingActivity";
- privateListViewAdapteradapter=newListViewAdapter();
- privateListViewlistView;
- privateLayoutParamsmLayoutParams=newLinearLayout.LayoutParams(
- LinearLayout.LayoutParams.WRAP_CONTENT,
- LinearLayout.LayoutParams.WRAP_CONTENT);
- privateLayoutParamsFFlayoutParams=newLinearLayout.LayoutParams(
- LinearLayout.LayoutParams.FILL_PARENT,
- LinearLayout.LayoutParams.FILL_PARENT);
- protectedvoidonCreate(BundlesavedInstanceState){
- super.onCreate(savedInstanceState);
- Log.i(TAG,"onCreate(BundlesavedInstanceState)>>>>>>>>>>>>>>>");
- LinearLayoutlayout=newLinearLayout(this);
- layout.setOrientation(LinearLayout.HORIZONTAL);
- Buttonbutton=newButton(this);
- button.setText("点击加载下10条...");
- button.setGravity(Gravity.CENTER_VERTICAL);
- layout.addView(button,FFlayoutParams);
- layout.setGravity(Gravity.CENTER);
- LinearLayoutloadingLayout=newLinearLayout(this);
- loadingLayout.addView(layout,mLayoutParams);
- loadingLayout.setGravity(Gravity.CENTER);
- listView=getListView();
- listView.addFooterView(loadingLayout);
- button.setOnClickListener(newButton.OnClickListener(){
- @Override
- publicvoidonClick(Viewv){
- adapter.count+=10;
- Log.i(TAG,"setOnClickListener:"+adapter.count);
- adapter.notifyDataSetChanged();
- intcurrentPage=adapter.count/10;
- Toast.makeText(getApplicationContext(),
- "第"+currentPage+"页",Toast.LENGTH_LONG).show();
- }
- });
- setListAdapter(adapter);
- }
- classListViewAdapterextendsBaseAdapter{
- intcount=10;
- publicintgetCount(){
- returncount;
- }
- publicObjectgetItem(intpos){
- returnpos;
- }
- publiclonggetItemId(intpos){
- returnpos;
- }
- publicViewgetView(intpos,Viewv,ViewGroupp){
- Log.i(TAG,"getView>>>pos:"+pos);
- TextViewview;
- if(v==null){
- view=newTextView(ButtonLoadingActivity.this);
- }else{
- view=(TextView)v;
- }
- view.setText("ListItem"+pos);
- view.setTextSize(20f);
- view.setGravity(Gravity.CENTER);
- view.setHeight(60);
- returnview;
- }
- }
- }
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
这是一个android listview分页查询显示的demo,使用sqlite数据库,然后每次显示10条,上拉加载更多数据,studio项目
WPF中ListView分页功能,同时也可以了解WPF的基本应用和ListView的基本使用方法,Binding等方法
Android ListView分页功能源码
这是一个ListView分页显示的示例 2013.10.27
wpf 中的ListView分页功能实现,具体源代码。
android下listview分页加载更多,绝对可用
android ListView分页 android ListView分页 android ListView分页
WPF ListView如何分页困扰了我很久,百度搜索的结果几乎得不到满意的结果,而CSDN论坛上流传的资源包貌似是微软提供的例子,但是略显复杂。经过笔者一晚上的摸索,得到了一种比较简单的解决方案,在此贡献给大家。...
Android ListView分页加载功能 在实际开发中经常用到,是每个开发者必须掌握的内容,本Demo给出了服务端+Android端的两者的代码,并成功通过了测试。 服务端使用MyEclipse,Android端使用Eclipse。
此demo是我在其它网站看到的很好的例子,关于ListView分页加载实现,是滚动到底部加载新的,软缓存,懒加载,大家可以借鉴下,是实时加载的。
Android高级应用源码-Listview分页加载数据.zip
Listview分页加载数据.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
ListView的分页
android中listview数据分页加载功能实现
这个demo主要介绍了listView的分页功能,实现了加载更多,希望可以帮助需要的同学。
listView 分页加载 android 动态加载数据
很好的资源,自己写的listview与分页的综合实例,有代码和数据库。代码通过多次测试,可以正确运行。
android listView 分页加载
我们在看微博或是到网上商城如淘宝中购物时,每一个商家都会有很多商品,如果把某商家的所有商品都一次性加载过来,会造成手机卡顿,影响用户体验,所以每次加载少量数据,使用分页的形式,分多页加载,会很好的提高...