国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android開發實現ScrollView中嵌套兩個ListView的方法

2019-10-22 18:21:49
字體:
來源:轉載
供稿:網友

本文實例講述了Android開發實現ScrollView中嵌套兩個ListView的方法。分享給大家供大家參考,具體如下:

做的項目中要使用兩個ListView在同一個頁面上下顯示,因為數據源不同,不能通過在Adapter中設置標志位去區分顯示,最后只能硬著頭皮做一個ScrollView嵌套兩個ListView,但按正常情況是不能同時顯示的,會出現上面的ListView完全顯示,下面的只顯示一個Item,查了一些資料終于成功了

主要有一個ListViewUtility ,代碼如下:

import java.io.File;import android.content.Intent;import android.net.Uri;import android.view.View;import android.view.ViewGroup;import android.widget.ListAdapter;import android.widget.ListView;public class ListViewUtility {  // 是一個Scrollview 中 添加兩個Listview的顯示布局  public static void setListViewHeightBasedOnChildren(ListView listView) {    ListAdapter listAdapter = listView.getAdapter();    if (listAdapter == null) {      // pre-condition      return;    }    int totalHeight = 0;    for (int i = 0; i < listAdapter.getCount(); i++) {//     Global.pos = i;      View listItem = listAdapter.getView(i, null, listView);      listItem.measure(0, 0);      totalHeight += listItem.getMeasuredHeight();    }    ViewGroup.LayoutParams params = listView.getLayoutParams();    params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));    listView.setLayoutParams(params);  }}

然后再寫兩個Listview,如下

signListview.setAdapter(mYinggaoSignListAdapter);appListView.setAdapter(adapter);ListViewUtility.setListViewHeightBasedOnChildren(signListview);ListViewUtility.setListViewHeightBasedOnChildren(appListView);

最后把兩個ListView添加到 ListViewUtility中,并且兩個ListView要填充完再添加,兩個ListView中的adpter的布局最外層要使用LinearLayout,只有LinearLayout 在ListViewUtility 中才能成功測量每個Item 的高度,不然就會出錯

希望本文所述對大家Android程序設計有所幫助。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 曲沃县| 合川市| 嘉义县| 南京市| 无棣县| 突泉县| 罗江县| 浙江省| 雅安市| 临漳县| 三门县| 蕉岭县| 福海县| 炉霍县| 固安县| 邯郸市| 阿拉善左旗| 格尔木市| 叙永县| 永新县| 无为县| 汝州市| 定南县| 新源县| 万山特区| 涪陵区| 手机| 铁岭市| 巫山县| 辽阳市| 福安市| 阳信县| 辽宁省| 台安县| 陇西县| 德阳市| 丹棱县| 五大连池市| 古交市| 河北区| 栾城县|