需求:一、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...