listView动态加载数据分页

转载 2012年03月31日 14:25:12
  1. package com.cnjmwl.scm.salesorder;
  2. import java.util.ArrayList;
  3. import com.cnjmwl.scm.MainActivity;
  4. import com.cnjmwl.scm.R;
  5. import com.cnjmwl.util.HttpUtil;
  6. import com.cnjmwl.util.ReadXML;
  7. import com.cnjmwl.util.StringUtil;
  8. import android.app.Activity;
  9. import android.content.Intent;
  10. import android.os.Bundle;
  11. import android.os.Handler;
  12. import android.os.Message;
  13. import android.util.Log;
  14. import android.view.Gravity;
  15. import android.view.LayoutInflater;
  16. import android.view.Menu;
  17. import android.view.MenuItem;
  18. import android.view.View;
  19. import android.view.ViewGroup;
  20. import android.widget.AbsListView;
  21. import android.widget.BaseAdapter;
  22. import android.widget.Button;
  23. import android.widget.GridView;
  24. import android.widget.LinearLayout;
  25. import android.widget.ListView;
  26. import android.widget.ProgressBar;
  27. import android.widget.Spinner;
  28. import android.widget.Toast;

  29. import android.widget.TextView;
  30. import android.widget.AbsListView.OnScrollListener;
  31. import android.widget.LinearLayout.LayoutParams;


  32. import com.cnjmwl.scm.entity.*;
  33. public class SalesOrderActivity extends Activity implements OnScrollListener{
  34.         private ListView mListView;
  35.         private MyAdapter mMyAdapter;
  36.         LinearLayout loadingLayout;
  37.         private Thread mThread;

  38.          /**
  39.      * 设置布局显示属性
  40.      */
  41.     private LayoutParams mLayoutParams = new LinearLayout.LayoutParams(
  42.             LinearLayout.LayoutParams.WRAP_CONTENT,
  43.             LinearLayout.LayoutParams.WRAP_CONTENT);
  44.     /**
  45.      * 设置布局显示目标最大化属性
  46.      */
  47.     private LayoutParams FFlayoutParams = new LinearLayout.LayoutParams(
  48.             LinearLayout.LayoutParams.FILL_PARENT,
  49.             LinearLayout.LayoutParams.FILL_PARENT);

  50.     private ProgressBar progressBar;
  51.    
  52.    
  53.    
  54.          /**
  55.           * 报检属性名称
  56.           */
  57.         String[] strID,strUnit,strStatus,strStatusDesc,strNO,strDate,strLinkMan,strLinkTel,business;
  58.         int maxCount;//数据库中的订单总数
  59.        
  60.         ArrayList<SalesOrder> lists;
  61.         View.OnClickListener cl;
  62.           @Override
  63.         protected void onCreate(Bundle savedInstanceState) {
  64.                
  65.                 super.onCreate(savedInstanceState);
  66.                  setContentView(R.layout.order_main);
  67.                  setupViews();
  68.                  
  69.                  
  70.      
  71.         }
  72.           public void setupViews(){
  73.                   if(maxCount==0){
  74.                           addDeclaration();
  75.                   }
  76.                   
  77.                  
  78.                   //线性布局
  79.                   LinearLayout layout=new LinearLayout(this);
  80.                   //设置布局水平方向
  81.                   layout.setOrientation(LinearLayout.HORIZONTAL);
  82.                   //进度条
  83.                   progressBar=new ProgressBar(this);
  84.                   //把进度条加入到layout中
  85.                   layout.addView(progressBar,mLayoutParams);
  86.                   //文本内容
  87.                   TextView textView=new TextView(this);
  88.                   textView.setText("加载中...");
  89.                   textView.setGravity(Gravity.CENTER_VERTICAL);
  90.                   //把文本加入到layout中
  91.                   layout.addView(textView,FFlayoutParams);
  92.                   //设置layout的重力方向,即对齐方式是
  93.                   layout.setGravity(Gravity.CENTER);
  94.                   //设置ListView的页脚layout
  95.                   loadingLayout = new LinearLayout(this);
  96.                   loadingLayout.addView(layout,mLayoutParams);
  97.                   loadingLayout.setGravity(Gravity.CENTER);
  98.                   
  99.                   //得到一个ListView用来显示条目
  100.                   mListView=(ListView)findViewById(R.id.listview);
  101.                   
  102.                   //添加到页脚
  103.                   mListView.addFooterView(loadingLayout);   
  104.                     mMyAdapter=new MyAdapter();
  105.                     mListView.setAdapter(mMyAdapter);
  106.                     mListView.setOnScrollListener(this);
  107.                     mListView.setTextFilterEnabled(true);
  108.                     mListView.setBackgroundResource(R.drawable.background);           
  109.                    
  110.                    
  111.             }
  112.        
  113.          /**
  114.              * 向服务器请求待办列表
  115.              */
  116.             private String queryList(String uri){
  117.                          String url = HttpUtil.BASE_URL+uri;
  118.                         System.out.println(url);
  119.                    return HttpUtil.getHTTPUtil().queryStringForPost(url);
  120.                  }
  121.             
  122.          public void addDeclaration(){
  123.                  String result2=queryList("orderStatusList".trim());
  124.                   lists=ReadXML.readXML(result2).getInspection2();
  125.                   Log.v("result2--", result2);
  126.                   strID=new String[lists.size()];
  127.                   strNO=new String[lists.size()];
  128.                   strStatus=new String[lists.size()];
  129.                   strStatusDesc=new String[lists.size()];
  130.                   strUnit=new String[lists.size()];
  131.                   strDate=new String[lists.size()];
  132.                   strLinkMan=new String[lists.size()];
  133.                   strLinkTel=new String[lists.size()];
  134.                   business=new String[lists.size()];
  135.                   int i2=0;
  136.         for(SalesOrder in:lists){
  137.                 strID[i2]=in.getId();            
  138.                 strStatus[i2]=in.getStatus();
  139.                 strDate[i2]=in.getDate();
  140.                 strLinkTel[i2]=in.getLinkTel();
  141.                
  142.                 //business[i2]=business[i2].replace("@", "\n");
  143.                
  144.                 if(in.getStatusDesc()!=null&&!in.getStatusDesc().equals("")){
  145.                         strStatusDesc[i2]=StringUtil.unicodeToUtf8(in.getStatusDesc());
  146.                 }else {
  147.                                  strStatusDesc[i2]="";
  148.                           }
  149.                 if(in.getUnit()!=null&&!in.getUnit().equals("")){
  150.                         strUnit[i2]=StringUtil.unicodeToUtf8(in.getUnit());
  151.                 }else {
  152.                         strUnit[i2]="";
  153.                           }
  154.                 if(in.getLinkMan()!=null&&!in.getLinkMan().equals("")){
  155.                         strLinkMan[i2]=StringUtil.unicodeToUtf8(in.getLinkMan());
  156.                 }else {
  157.                         strLinkMan[i2]="";
  158.                           }
  159.                 if(in.getBusinessItems()!=null&& !in.getBusinessItems().equals("")){
  160.                        business[i2]=StringUtil.unicodeToUtf8(in.getBusinessItems());
  161.                        business[i2]=business[i2].replace("||", "\n");
  162.                 }else {
  163.                         business[i2]="";
  164.                 }
  165.              
  166.               //business[i2]=business[i2].replace("|", "\n");
  167.                Log.v("business", business[i2]);
  168.                 strNO[i2]=in.getNo();
  169.                 i2++;
  170.         }
  171.         maxCount=strID.length;
  172.          }
  173.          
  174.          
  175.          
  176.          /**
  177.           * 创建菜单
  178.           *
  179.           */
  180.          
  181.            @Override
  182.         public boolean onCreateOptionsMenu(Menu menu) {
  183.                    menu.add(Menu.NONE, Menu.FIRST+1, 5, "返回首页").setIcon(android.R.drawable.ic_menu_delete);
  184.                menu.add(Menu.NONE, Menu.FIRST+2, 2, "退出").setIcon(android.R.drawable.ic_menu_edit);
  185.          // this.getMenuInflater().inflate(R.menu.options_menu, menu);
  186.                 return true;
  187.         }
  188.           
  189.           
  190.          //菜单项被选择事件
  191.        @Override
  192.        public boolean onOptionsItemSelected(MenuItem item) {
  193.            switch (item.getItemId()) {
  194.            case Menu.FIRST + 1:
  195.               Intent intent=new Intent(Copy_4_of_SalesOrderActivity.this,MainActivity.class);
  196.               startActivity(intent);
  197.                break;
  198.            case Menu.FIRST + 2:
  199.                    Intent startMain = new Intent(Intent.ACTION_MAIN);
  200.                          startMain.addCategory(Intent.CATEGORY_HOME);
  201.                          startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  202.                          startActivity(startMain);
  203.                          System.exit(0);
  204.                break;
  205.            
  206.            }
  207.            return false;
  208.        }
  209.       
  210.       
  211.   
  212.        //定义自己的适配器,注意getCount和getView方法
  213.        private class MyAdapter extends BaseAdapter{
  214.            int count = 10 ;
  215.          
  216.                    @Override
  217.                    public int getCount() {
  218.                            return count;
  219.                    }

  220.                    @Override
  221.                    public Object getItem(int position) {
  222.                            return position;

  223.                    }

  224.                    @Override
  225.                    public long getItemId(int position) {
  226.                           
  227.                            return position;
  228.                    }

  229.                    @Override
  230.                    public View getView(int position, View convertView, ViewGroup parent) {
  231.                       convertView=LayoutInflater.from(getApplicationContext()).inflate(R.layout.list_data, null);   
  232.                   TextView noTextView=(TextView)convertView.findViewById(R.id.ItemNO);
  233.                   noTextView.setText(strNO[position]);          
  234.                  TextView LinkManTextView=(TextView)convertView.findViewById(R.id.ItemLinkMan);
  235.                  LinkManTextView.setText(strLinkMan[position]);       
  236.                   TextView LinkTelTextView=(TextView)convertView.findViewById(R.id.ItemLinkTel);
  237.                  LinkTelTextView.setText(strLinkTel[position]);       
  238.                    TextView busTextView=(TextView)convertView.findViewById(R.id.Itembusiness1);
  239.                   busTextView.setText(business[position]);
  240.                   return convertView;
  241.        }
  242.    }
  243.       
  244.       
  245.         @Override
  246.         public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
  247.                     if(firstVisibleItem + visibleItemCount == totalItemCount){
  248.                             //开远程去下载网络数据
  249.                             if(mThread == null || ! mThread.isAlive()){
  250.                                     mThread = new Thread(){
  251.                                             @Override
  252.                                             public void run() {
  253.                                                     try {
  254.                                                                 //这里写网络数据请求的方法
  255.                                                             if(maxCount==0){
  256.                                                                     addDeclaration();
  257.                                                             }
  258.                                                            
  259.                                                         } catch (Exception e) {
  260.                                                                 e.printStackTrace();
  261.                                                         }
  262.                                                        
  263.                                                         Message message = new Message();
  264.                                                         message.what = 1;
  265.                                                         handler.sendMessage(message);
  266.                                             }
  267.                                     };
  268.                                     mThread.run();
  269.                             }else {
  270.                                        
  271.                                         mThread.destroy();
  272.                                 }
  273.                     }
  274.                
  275.         }
  276.         @Override
  277.         public void onScrollStateChanged(AbsListView view, int scrollState) {
  278.                   
  279.                
  280.         }   

  281.        
  282.         private Handler handler = new Handler(){
  283.                 @Override
  284.                 public void handleMessage(Message msg) {
  285.                         switch (msg.what) {
  286.                         case 1:
  287.                                 Log.v("mMyAdapter.count", mMyAdapter.count+"");
  288.                                 if(mMyAdapter.count < maxCount){
  289.                                        
  290.                                         if((maxCount - mMyAdapter.count) >10){
  291.                                                 mMyAdapter.count+=10;
  292.                                         }else {
  293.                                                 mMyAdapter.count+= maxCount -mMyAdapter.count;
  294.                                         }
  295.                                        
  296.                                         int currentPage = mMyAdapter.count / 10;
  297.                                         //Toast.makeText(getApplicationContext(), "第"+currentPage +"页",Toast.LENGTH_LONG).show();
  298.                                 }else {
  299.                                        
  300.                                         mListView.removeFooterView(loadingLayout);
  301.                                         mThread.stop();
  302.                                 }
  303.                                 //重新刷新ListView的adapter里面数据
  304.                                 mMyAdapter.notifyDataSetChanged();
  305.                                 break;

  306.                         default:
  307.                                 break;
  308.                         }
  309.                 }
  310.         };
  311.       
  312. }
复制代码




第二种:AsyncTask

Java代码


  1. package com.cnjmwl.scm.salesorder;
  2. /**
  3. * 使用AsyncTask进行分页
  4. */
  5. import java.util.ArrayList;


  6. import com.cnjmwl.scm.MainActivity;
  7. import com.cnjmwl.scm.R;

  8. import com.cnjmwl.util.HttpUtil;
  9. import com.cnjmwl.util.ReadXML;
  10. import com.cnjmwl.util.StringUtil;

  11. import android.app.Activity;

  12. import android.content.Intent;
  13. import android.os.AsyncTask;
  14. import android.os.Bundle;
  15. import android.os.Handler;
  16. import android.os.Message;
  17. import android.util.Log;
  18. import android.view.Gravity;
  19. import android.view.LayoutInflater;
  20. import android.view.Menu;
  21. import android.view.MenuItem;
  22. import android.view.View;
  23. import android.view.ViewGroup;
  24. import android.widget.AbsListView;
  25. import android.widget.BaseAdapter;
  26. import android.widget.Button;
  27. import android.widget.GridView;
  28. import android.widget.LinearLayout;
  29. import android.widget.ListView;
  30. import android.widget.ProgressBar;
  31. import android.widget.Spinner;
  32. import android.widget.Toast;

  33. import android.widget.TextView;
  34. import android.widget.AbsListView.OnScrollListener;
  35. import android.widget.LinearLayout.LayoutParams;


  36. import com.cnjmwl.scm.entity.*;
  37. public class SalesOrderActivity extends Activity implements OnScrollListener{
  38.         private ListView mListView;
  39.         private MyAdapter mMyAdapter;
  40.         LinearLayout loadingLayout;
  41.     private int lastItem=0;
  42.          /**
  43.      * 设置布局显示属性
  44.      */
  45.     private LayoutParams mLayoutParams = new LinearLayout.LayoutParams(
  46.             LinearLayout.LayoutParams.WRAP_CONTENT,
  47.             LinearLayout.LayoutParams.WRAP_CONTENT);
  48.     /**
  49.      * 设置布局显示目标最大化属性
  50.      */
  51.     private LayoutParams FFlayoutParams = new LinearLayout.LayoutParams(
  52.             LinearLayout.LayoutParams.FILL_PARENT,
  53.             LinearLayout.LayoutParams.FILL_PARENT);

  54.     private ProgressBar progressBar;
  55.     private boolean isLoading;
  56.    
  57.    
  58.          /**
  59.           * 报检属性名称
  60.           */
  61.         String[] strID,strUnit,strStatus,strStatusDesc,strNO,strDate,strLinkMan,strLinkTel,business;
  62.         int maxCount;//数据库中的订单总数
  63.        
  64.         ArrayList<SalesOrder> lists;
  65.         View.OnClickListener cl;
  66.           @Override
  67.         protected void onCreate(Bundle savedInstanceState) {
  68.                
  69.                 super.onCreate(savedInstanceState);
  70.                  setContentView(R.layout.order_main);
  71.                  setupViews();

  72.         }
  73.           public void setupViews(){
  74.                   if(maxCount==0){
  75.                           addDeclaration();
  76.                   }
  77.                   
  78.                  
  79.                   //线性布局
  80.                   LinearLayout layout=new LinearLayout(this);
  81.                   //设置布局水平方向
  82.                   layout.setOrientation(LinearLayout.HORIZONTAL);
  83.                   //进度条
  84.                   progressBar=new ProgressBar(this);
  85.                   //把进度条加入到layout中
  86.                   layout.addView(progressBar,mLayoutParams);
  87.                   //文本内容
  88.                   TextView textView=new TextView(this);
  89.                   textView.setText("加载中...");
  90.                   textView.setGravity(Gravity.CENTER_VERTICAL);
  91.                   //把文本加入到layout中
  92.                   layout.addView(textView,FFlayoutParams);
  93.                   //设置layout的重力方向,即对齐方式是
  94.                   layout.setGravity(Gravity.CENTER);
  95.                   //设置ListView的页脚layout
  96.                   loadingLayout = new LinearLayout(this);
  97.                   loadingLayout.addView(layout,mLayoutParams);
  98.                   loadingLayout.setGravity(Gravity.CENTER);
  99.                   
  100.                   //得到一个ListView用来显示条目
  101.                   mListView=(ListView)findViewById(R.id.listview);
  102.                   
  103.                   //添加到页脚
  104.                   mListView.addFooterView(loadingLayout);   
  105.                     mMyAdapter=new MyAdapter();
  106.                     mListView.setAdapter(mMyAdapter);
  107.                     mListView.setOnScrollListener(this);
  108.                     mListView.setTextFilterEnabled(true);
  109.                     mListView.setBackgroundResource(R.drawable.background);           
  110.                    
  111.                    
  112.             }
  113.        
  114.          /**
  115.              * 向服务器请求待办列表
  116.              */
  117.             private String queryList(String uri){
  118.                          String url = HttpUtil.BASE_URL+uri;
  119.                         System.out.println(url);
  120.                    return HttpUtil.getHTTPUtil().queryStringForPost(url);
  121.                  }
  122.             
  123.          public void addDeclaration(){
  124.                  String result2=queryList("orderStatusList".trim());
  125.                   lists=ReadXML.readXML(result2).getInspection2();
  126.                   Log.v("result2--", result2);
  127.                   strID=new String[lists.size()];
  128.                   strNO=new String[lists.size()];
  129.                   strStatus=new String[lists.size()];
  130.                   strStatusDesc=new String[lists.size()];
  131.                   strUnit=new String[lists.size()];
  132.                   strDate=new String[lists.size()];
  133.                   strLinkMan=new String[lists.size()];
  134.                   strLinkTel=new String[lists.size()];
  135.                   business=new String[lists.size()];
  136.                   int i2=0;
  137.         for(SalesOrder in:lists){
  138.                 strID[i2]=in.getId();            
  139.                 strStatus[i2]=in.getStatus();
  140.                 strDate[i2]=in.getDate();
  141.                 strLinkTel[i2]=in.getLinkTel();
  142.                
  143.                 //business[i2]=business[i2].replace("@", "\n");
  144.                
  145.                 if(in.getStatusDesc()!=null&&!in.getStatusDesc().equals("")){
  146.                         strStatusDesc[i2]=StringUtil.unicodeToUtf8(in.getStatusDesc());
  147.                 }else {
  148.                                  strStatusDesc[i2]="";
  149.                           }
  150.                 if(in.getUnit()!=null&&!in.getUnit().equals("")){
  151.                         strUnit[i2]=StringUtil.unicodeToUtf8(in.getUnit());
  152.                 }else {
  153.                         strUnit[i2]="";
  154.                           }
  155.                 if(in.getLinkMan()!=null&&!in.getLinkMan().equals("")){
  156.                         strLinkMan[i2]=StringUtil.unicodeToUtf8(in.getLinkMan());
  157.                 }else {
  158.                         strLinkMan[i2]="";
  159.                           }
  160.                 if(in.getBusinessItems()!=null&& !in.getBusinessItems().equals("")){
  161.                        business[i2]=StringUtil.unicodeToUtf8(in.getBusinessItems());
  162.                        business[i2]=business[i2].replace("||", "\n");
  163.                 }else {
  164.                         business[i2]="";
  165.                 }
  166.              
  167.               //business[i2]=business[i2].replace("|", "\n");
  168.                Log.v("business", business[i2]);
  169.                 strNO[i2]=in.getNo();
  170.                 i2++;
  171.         }
  172.         maxCount=strID.length;
  173.          }
  174.          
  175.          
  176.          
  177.          /**
  178.           * 创建菜单
  179.           *
  180.           */
  181.          
  182.            @Override
  183.         public boolean onCreateOptionsMenu(Menu menu) {
  184.                    menu.add(Menu.NONE, Menu.FIRST+1, 5, "返回首页").setIcon(android.R.drawable.ic_menu_delete);
  185.                menu.add(Menu.NONE, Menu.FIRST+2, 2, "退出").setIcon(android.R.drawable.ic_menu_edit);
  186.          // this.getMenuInflater().inflate(R.menu.options_menu, menu);
  187.                 return true;
  188.         }
  189.           
  190.           
  191.          //菜单项被选择事件
  192.        @Override
  193.        public boolean onOptionsItemSelected(MenuItem item) {
  194.            switch (item.getItemId()) {
  195.            case Menu.FIRST + 1:
  196.               Intent intent=new Intent(SalesOrderActivity.this,MainActivity.class);
  197.               startActivity(intent);
  198.                break;
  199.            case Menu.FIRST + 2:
  200.                    Intent startMain = new Intent(Intent.ACTION_MAIN);
  201.                          startMain.addCategory(Intent.CATEGORY_HOME);
  202.                          startMain.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
  203.                          startActivity(startMain);
  204.                          System.exit(0);
  205.                break;
  206.            
  207.            }
  208.            return false;
  209.        }
  210.       
  211.       
  212.        //定义自己的适配器,注意getCount和getView方法
  213.        private class MyAdapter extends BaseAdapter{
  214.            int count = 10 ;
  215.          
  216.                    @Override
  217.                    public int getCount() {
  218.                            return count;
  219.                    }

  220.                    @Override
  221.                    public Object getItem(int position) {
  222.                            return position;
  223.                    }

  224.                    @Override
  225.                    public long getItemId(int position) {
  226.                            return position;
  227.                    }

  228.                    @Override
  229.                    public View getView(int position, View convertView, ViewGroup parent) {
  230.                       convertView=LayoutInflater.from(getApplicationContext()).inflate(R.layout.list_data, null);
  231.                   TextView noTextView=(TextView)convertView.findViewById(R.id.ItemNO);
  232.                   noTextView.setText(strNO[position]);
  233.                  TextView LinkManTextView=(TextView)convertView.findViewById(R.id.ItemLinkMan);
  234.                  LinkManTextView.setText(strLinkMan[position]);
  235.                   TextView LinkTelTextView=(TextView)convertView.findViewById(R.id.ItemLinkTel);
  236.                  LinkTelTextView.setText(strLinkTel[position]);
  237.                    TextView busTextView=(TextView)convertView.findViewById(R.id.Itembusiness1);
  238.                   busTextView.setText(business[position]);
  239.                   return convertView;
  240.        }
  241.    }
  242.       
  243.       
  244.         @Override
  245.         public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
  246.                 Log.i("test", "Scroll>>>first: " + firstVisibleItem
  247.                                 + ", visible: " + visibleItemCount + ", total: "
  248.                                 + totalItemCount);
  249.                     lastItem = firstVisibleItem + visibleItemCount -1;
  250.                     Log.i("test", "Scroll>>>lastItem:" + lastItem);
  251.                     Log.i("mMyAdapter.count", mMyAdapter.count+"");
  252.                     Log.i("maxCount", maxCount+"");
  253.                     if(mMyAdapter.count < maxCount){
  254.                             if(firstVisibleItem + visibleItemCount == totalItemCount){
  255.                                     //isLoading用于控制重复加载
  256.                                     if(!isLoading){
  257.                                             new MyTask().execute(null);
  258.                                     }
  259.                             }
  260.                            
  261.                     }else {
  262.                                 mListView.removeFooterView(loadingLayout);
  263.                         }
  264.                   
  265.         }
  266.         @Override
  267.         public void onScrollStateChanged(AbsListView view, int scrollState) {
  268.                   
  269.         }   

  270.        
  271.        
  272.         private class MyTask extends AsyncTask<Void, Void, Void> {
  273.                 @Override
  274.                 protected void onPreExecute() {
  275.                         super.onPreExecute();
  276.        
  277.                         isLoading =true;
  278.                 }
  279.                 @Override
  280.                 protected Void doInBackground(Void... params) {
  281.                         try {
  282.                                 Thread.sleep(5000);
  283.                         } catch (InterruptedException e) {
  284.                                 e.printStackTrace();
  285.                         }
  286.                        
  287.                         if(mMyAdapter.count < maxCount){
  288.                                 if((maxCount - mMyAdapter.count) >10){
  289.                                         mMyAdapter.count+=10;
  290.                                 }else {
  291.                                         mMyAdapter.count+= maxCount -mMyAdapter.count;
  292.                                 }
  293.                                
  294.                         }
  295.                        
  296.                         return null;
  297.                 }
  298.                 @Override
  299.                 protected void onPostExecute(Void result) {
  300.                         super.onPostExecute(result);
  301.                         mMyAdapter.notifyDataSetChanged();
  302.                         mListView.setSelection(lastItem);
  303.                         int currentPage = mMyAdapter.count / 10;
  304.                         Toast.makeText(getApplicationContext(), "第" + currentPage + "页",
  305.                                         Toast.LENGTH_LONG).show();
  306.                
  307.                         isLoading = false;
  308.                 }
  309.         }
  310.        
  311.        
  312.       
  313. }

相关文章推荐

Android+Listview+分页+动态加载网络数据

list_item.xml代码如下: [html] view plaincopy xml version="1.0" encoding="utf-8"?>  LinearLay...

ListView动态加载数据分页(使用Handler+线程和AsyncTask两种方法)

----转载请注明出处,问章来源:http://www.cnblogs.com/JerryWang1991/  在android开发中,经常需要使用数据分页,比如要实现一个新闻列表的显示,或者博...

listView动态加载数据分页

有两种方法: 我在项目中用了两种方法,来进行listView的分页,分别是用Handler和AsyncTask。 第一种方法:用Handler和线程 看代码:   package c...

Android+Listview+分页+动态加载网络数据

最近搞Android动态加载网络数据总结点心得: list_item.xml代码如下: <LinearLayout xmlns:android="http://schemas.android....
  • zz_mm
  • zz_mm
  • 2011-12-20 11:48
  • 15378

Android中ListView分页加载 动态加载数据

转载地址:http://blog.csdn.net/liuhe688/article/details/6852523 熟悉Android的朋友们都知道,不管是微博客户端还是新闻客户端,都离不开列...

Android腾讯微博客户端开发5:利用FootView实现ListView滑动动态加载实现分页

老规矩,先上图 这张图片左边部分和右边部分还是有很大的不同,不是指内容上,是指布局上,左边的是我今天写这次代码之前的布局,root是用的RelativeLayout,右边是用的FrameLayou...

Android腾讯微博客户端开发5:利用FootView实现ListView滑动动态加载实现分页

这张图片左边部分和右边部分还是有很大的不同,不是指内容上,是指布局上,左边的是我今天写这次代码之前的布局,root是用的RelativeLayout,右边是用的FrameLayout,体现在界面上就是...

Android腾讯微博客户端开发五:利用FootView实现ListView滑动动态加载实现分页

看布局代码:布局代码还用到了include,主要是用来重用布局的。include一定要放在最下面啊,因为FrameLayout后面的内容会覆盖掉前面的内容,如果你放在上面,将会看不到标题栏。  Ja...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)