国产探花免费观看_亚洲丰满少妇自慰呻吟_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開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 油尖旺区| 盈江县| 芦山县| 吴旗县| 八宿县| 桐乡市| 唐山市| 徐汇区| 塔河县| 弥勒县| 东海县| 宁阳县| 会昌县| 沾化县| 广灵县| 三都| 淳化县| 左贡县| 建宁县| 林甸县| 保定市| 新宁县| 历史| 洪雅县| 攀枝花市| 弋阳县| 越西县| 岫岩| 怀宁县| 烟台市| 惠州市| 中卫市| 汕头市| 平果县| 宜阳县| 建湖县| 大宁县| 峨眉山市| 邮箱| 花莲市| 桃源县|