91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

ListView的分頁加載功能

發布時間:2020-07-14 22:20:50 來源:網絡 閱讀:805 作者:haodiandian 欄目:移動開發
參考資料:

首先新建一個layout文件,命名為moredata.xml,包含一個Button和一個ProgressBar,xml代碼如下:
<?xml version="1.0" encoding="utf-8"?>   
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_width="match_parent"   
    android:layout_height="match_parent"   
    android:orientation="vertical" >   
  <Button       
      android:id="@+id/bt_load"       
      android:layout_width="fill_parent"       
      android:layout_height="wrap_content"     
      android:text="加載更多數據" />    
  <ProgressBar   
      android:id="@+id/pg"   
      android:layout_width="wrap_content"   
      android:layout_height="wrap_content"   
      android:layout_gravity="center_horizontal"   
      android:visibility="gone"   
      />   
</LinearLayout>  


然后定義一個item.xml,其作用是定義ListView的每個item的視圖,代碼如下:
<?xml version="1.0" encoding="utf-8"?>   
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"   
    android:layout_width="match_parent"   
    android:layout_height="match_parent"   
    android:orientation="vertical" >   
       
    <TextView   
        android:id="@+id/tv_title"   
        android:textSize="20sp"   
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"   
        android:layout_marginTop="5dp"   
        />   
    <TextView   
        android:textSize="12sp"   
        android:id="@+id/tv_content"   
        android:layout_width="wrap_content"   
        android:layout_height="wrap_content"   
        android:layout_marginTop="5dp"   
        />   
   
</LinearLayout> 


下面是主MainActivity.java代碼:

package cn.llbb.testlistview2;

import android.support.v7.app.ActionBarActivity;

import java.util.*;
import android.os.Bundle;
import android.os.Handler;
import android.view.*;
import android.view.View.*;
import android.widget.*;
import android.widget.AbsListView.OnScrollListener;

public class MainActivity extends ActionBarActivity implements OnScrollListener{

	private ListView list = null;
	private SimpleAdapter mSimpleAdapter;
	private Button bt; 
	private ProgressBar pg; 
	private Handler handler;
	private ArrayList<HashMap<String,String>> listitem;
	private View moreView;
	private int MaxDateNum;
	private int lastVisibleIndex;
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		list = (ListView) findViewById(R.id.listView1);
		MaxDateNum = 65;
		listitem = new ArrayList<HashMap<String,String>>();
		moreView = getLayoutInflater().inflate(R.layout.moredata, null);
		bt = (Button) moreView.findViewById(R.id.bt_load);
		pg = (ProgressBar) moreView.findViewById(R.id.pg);
		handler = new Handler();
		
		listitem = new ArrayList<HashMap<String,String>>();
		for(int i = 0;i < 10; i++){
			HashMap<String, String> item = new HashMap<String, String>(); 
			item.put("ItemTitle", "第" + i + "行標題");
			item.put("ItemText", "第" + i + "行內容");
			listitem.add(item);
		}
		mSimpleAdapter = new SimpleAdapter(this, listitem, R.layout.item, 
                                           new String[]{"ItemTitle","ItemText"}, 
                                           new int[]{R.id.tv_title,R.id.tv_content});
		list.addFooterView(moreView);
		list.setAdapter(mSimpleAdapter);
		
		bt.setOnClickListener(new OnClickListener() {
			
			
			@Override
			public void onClick(View v) {
				pg.setVisibility(View.VISIBLE);
				bt.setVisibility(View.GONE);
				handler.postDelayed(new Runnable() {   
					   
                    @Override   
                    public void run() {   
                        loadMoreDate();// 加載更多數據   
                        bt.setVisibility(View.VISIBLE);   
                        pg.setVisibility(View.GONE);   
                        mSimpleAdapter.notifyDataSetChanged();// 通知listView刷新數據   
                    }   
   
                }, 2000);  
			}
		});
		
	}
	
	 private void loadMoreDate() {   
	        int count = mSimpleAdapter.getCount();   
	        if (count + 5 < MaxDateNum) {   
	            // 每次加載5條   
	            for (int i = count; i < count + 5; i++) {   
	                HashMap<String, String> map = new HashMap<String, String>();   
	                map.put("ItemTitle", "新增第" + i + "行標題");
	                map.put("ItemText", "新增第" + i + "行內容");  
	                listitem.add(map);
	            }   
	        } else {   
	            // 數據已經不足5條   
	            for (int i = count; i < MaxDateNum; i++) {   
	                HashMap<String, String> map = new HashMap<String, String>();   
	                map.put("ItemTitle", "新增第" + i + "行標題");   
	                map.put("ItemText", "新增第" + i + "行內容");   
	                listitem.add(map);   
	            }   
	        }   
	   
	    }   
	 
	  public void onScroll(AbsListView view, int firstVisibleItem,   
	            int visibleItemCount, int totalItemCount) {   
	        lastVisibleIndex = firstVisibleItem + visibleItemCount - 1;   
	   
	        if (totalItemCount == MaxDateNum + 1) {   
	        	list.removeFooterView(moreView);   
	            Toast.makeText(this, "數據全部加載完成,沒有更多數據!", Toast.LENGTH_LONG).show();   
	        }   
	   
	    }   
	   
	  

	    @Override   
	    public void onScrollStateChanged(AbsListView view, int scrollState) {   
	        if (scrollState == OnScrollListener.SCROLL_STATE_IDLE   
	                && lastVisibleIndex == mSimpleAdapter.getCount()) {   
	        }   
	   
	    }  
	


}


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

金阳县| 祁门县| 沐川县| 西丰县| 安陆市| 同仁县| 荆州市| 扶沟县| 马鞍山市| 湖北省| 登封市| 延安市| 衡阳县| 宜良县| 平武县| 鄂托克旗| 易门县| 灵石县| 双江| 新和县| 福建省| 资阳市| 常山县| 伊吾县| 武清区| 乳山市| 郧西县| 札达县| 越西县| 潜江市| 弥渡县| 高淳县| 逊克县| 即墨市| 定南县| 杨浦区| 濮阳市| 盘山县| 弋阳县| 大港区| 徐闻县|