欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android開發(fā)實現(xiàn)ScrollView中嵌套兩個ListView的方法

 更新時間:2017年11月30日 15:41:20   作者:jia635  
這篇文章主要介紹了Android開發(fā)實現(xiàn)ScrollView中嵌套兩個ListView的方法,結合實例形式分析了Android ScrollView中嵌套兩個ListView的操作技巧與相關注意事項,需要的朋友可以參考下

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

做的項目中要使用兩個ListView在同一個頁面上下顯示,因為數(shù)據(jù)源不同,不能通過在Adapter中設置標志位去區(qū)分顯示,最后只能硬著頭皮做一個ScrollView嵌套兩個ListView,但按正常情況是不能同時顯示的,會出現(xiàn)上面的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相關內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結》、《Android開發(fā)入門與進階教程》、《Android布局layout技巧總結》、《Android視圖View技巧總結》、《Android編程之a(chǎn)ctivity操作技巧總結》、《Android資源操作技巧匯總》及《Android控件用法總結

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

相關文章

最新評論