安卓開發手記 ListView下面跟著Button

2021-07-09 07:36:21 字數 946 閱讀 2750

需求:一、listview下面跟著乙個button,由於listview的長度可能會超出螢幕高度,需要使用scrollview-linearlayout作為父容器。

二、使用scrollview巢狀listview,結果是,listview的高度只顯示一行。

三、如何讓listview在scrollview中展開顯示?兩步:

1、在listview使用setadapter後設定為listview設定高度(根據子容器高度);

public

void

setlistviewheightbasedonchildren(listview listview)    

inttotalheight = 

0;   

for(

inti = 

0, len = listadapter.getcount(); i < len; i++)    

viewgroup.layoutparams params = listview.getlayoutparams();   

params.height = totalheight+ (listview.getdividerheight() * (listadapter.getcount() - 1

));   

// listview.getdividerheight()獲取子項間分隔符占用的高度 

// params.height最後得到整個listview完整顯示需要的高度 

listview.setlayoutparams(params);   

}   

2、listview的每個item必須是linearlayout,不能是其他的,因為其他的layout(如relativelayout)沒有重寫onmeasure(),所以會在onmeasure()時丟擲異常。故此需要給item巢狀乙個linearlayout的根布局。

引用出處:

安卓開發學習心得 ListView基礎

listview基本步驟 1.建立listview 2.新建介面卡 3.介面卡新增資料來源 如用到雜湊表,需將表新增到資料來源 4.listview連線介面卡 1.arrayadapter的三個引數 上下文 布局檔案 大多數時可使用安卓自帶的布局檔案 android.r.layout.資料來源 每行...

2015 5 13安卓筆記之listview

1.listview控制項應用 在布局檔案中加進乙個listview控制項 寫乙個類myadapter繼承baseadapter private class myadapter extends baseadapter override public object getitem int positi...

sos 安卓listview的問題

問題描述 多個按鈕共有乙個listview,怎麼在其中乙個按鈕中新增listview的footerview 比如 先在要在左側listview的3選中後,在右側加乙個新增的footerview,左側按鈕的點選都是用的右側乙個listview2,現在我想只有在點選3的情況下,listview2才新增f...