国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁县| 南京市| 瑞昌市| 南华县| 普洱| 兴化市| 江山市| 定西市| 晋宁县| 建宁县| 龙口市| 洪雅县| 南华县| 贵州省| 江安县| 儋州市| 治县。| 北宁市| 神池县| 三原县| 繁昌县| 东安县| 娄底市| 神农架林区| 郁南县| 屯昌县| 淳安县| 曲周县| 汝城县| 延边| 临江市| 津市市| 海伦市| 随州市| 裕民县| 太和县| 沐川县| 马龙县| 都安| 镇宁| 林西县|