android中listview分頁載入資料

2021-09-06 23:37:33 字數 2119 閱讀 9217

首先說下listview的優化方案,這也是面試中常考的題目。優化方案有三種:1,假設自己定義介面卡,那麼在getview方法中推斷contentview是否為空,假設為空建立contentview並返回,假設不為空直接返回contentview。這樣能盡可能少建立view。2.給contentview設定tag,傳入乙個viewhoder物件,用於快取要實現的資料。3,假設listview中顯示的item太多,就要考慮分頁載入了。

以下就注意介紹一下分頁載入資料。首先在layout下建立listview.xml:

<?xml version="1.0" encoding="utf-8"?>

然後建立listview_item.xml:

<?xml version="1.0" encoding="utf-8"?>

再為跟多button加入乙個xml:

<?xml version="1.0" encoding="utf-8"?>

**部分:

public class listviewadapter extends baseadapter 

@override

public int getcount()

@override

public object getitem(int position)

@override

public long getitemid(int position)

@override

public view getview(int position, view contentview, viewgroup arg2)

m.put(position, contentview);

return contentview; }

public void additem(string item)

}

public class listviewactivity extends activity implements onscrolllistener    

}, 1000);

}});

listview = (listview) this.findviewbyid(r.id.listview1);

listview.addfooterview(loadmoreview); //設定列表底部檢視

// listview.addheaderview(v) //設定列表頂部檢視

initadapter();

listview.setadapter(adapter); //自己主動為id是list的listview設定介面卡

listview.setonscrolllistener(this); //加入滑動監聽

listview.setonitemclicklistener(new onitemclicklistener()

});}

/**

* 初始化介面卡

*/

private void initadapter()

adapter = new listviewadapter(items,this);

} /**

* 滑動時被呼叫

*/

@override

public void onscroll(abslistview view, int firstvisibleitem, int visibleitemcount, int totalitemcount)

/**

* 滑動狀態改變時被呼叫

*/

@override

public void onscrollstatechanged(abslistview view, int scrollstate)

} /**

* 模擬載入資料

*/

private void loaddata() }}

最後看看效果:

RecyclerView和ListView的區別

1 recyclerview可以完成listview,gridview的效果,還可以完成瀑布流的效果。同時還可以設定列表的滾動方向 垂直或者水平 2 recyclerview中view的復用不需要開發者自己寫 系統已經幫封裝完成了。3 recyclerview可以進行區域性重新整理。4 recycl...

android 中layout weight的作用

layout weight 用於給乙個線性布局中的諸多檢視的重要度賦值。所有的檢視都有乙個layout weight值,預設為零,意思是需要顯示多大的檢視就佔據多大的螢幕空 間。若賦乙個高於零的值,則將父檢視中的可 用空間分割,分割大小具體取決於每乙個檢視layout weight 值以及該值在當前...

Android中LayoutParams的用法

寧願做過了後悔,也不要錯過了後悔。本講內容 layoutparams的用法 一 layoutparams的認識 從官方文件可知layoutparams繼承於android.view.viewgroup.layoutparams.layoutparams相當於乙個layout的資訊包,它封裝了layo...