1. 程式人生 > >Android學習 之 問題&解答 ScrollView中巢狀ListView時顯示不全的簡便解決方案

Android學習 之 問題&解答 ScrollView中巢狀ListView時顯示不全的簡便解決方案

利用下面這個Utility 類的靜態方法setListViewHeightBasedOnChildren()即可實現:

在listview.setAdapter()之後呼叫Utility.setListViewHeightBasedOnChilren(listview)就Okay 了。
public class Utility {
public static void setListViewHeightBasedOnChildren(ListView listView) {
//獲取ListView對應的Adapter
ListAdapter listAdapter = listView.getAdapter();
if (listAdapter == null) {
// pre-condition
return;
}

int totalHeight = 0;
for (int i = 0, len = listAdapter.getCount(); i < len; i++) { //listAdapter.getCount()返回資料項的數目
View listItem = listAdapter.getView(i, null, listView);
listItem.measure(0, 0); //計運算元項View 的寬高
totalHeight += listItem.getMeasuredHeight(); //統計所有子項的總高度
}

ViewGroup.LayoutParams params = listView.getLayoutParams();
params.height = totalHeight + (listView.getDividerHeight() * (listAdapter.getCount() - 1));
//listView.getDividerHeight()獲取子項間分隔符佔用的高度
//params.height最後得到整個ListView完整顯示需要的高度
listView.setLayoutParams(params);
}
}

其實原理就是動態的改變ListView控制元件的高度。

相關推薦

Android學習 問題&解答 ScrollViewListView顯示簡便解決方案

利用下面這個Utility 類的靜態方法setListViewHeightBasedOnChildren()即可實現: 在listview.setAdapter()之後呼叫Utility.setListViewHeightBasedOnChilren(listview)就

ScrollViewListView,需要根據內容來設定listView的高度

動態設定ListView的高度 public void setListViewHeightBasedOnChildren(ListView mListView) { ListAdapter listAdapter = mListView.getAdapter();

ScrollViewListView顯示和位置是頂部的解決辦法

(1)首先寫一個listview的頁面,用ScrollView進行巢狀,注意ScrollView裡面只能有一個佈局屬性,多個可以用Linearout進行包含 <?xml version="1.0" encoding="utf-8"?> <RelativeL

Android開發ScrollViewListView解決方案

import android.content.Context; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.BaseAdapter;

Android scrollviewlistview實現listview的下拉重新整理上拉載入更多

我們都知道在Android中scrollview和listview都能滑動,如果scrollview巢狀listview會出現一些問題,比如listview不能正常顯示item...但是在一些專案中,一些頁面內容比較多,需要在外面放一個scrollview,裡面還會巢狀li

解決AndroidScrollViewlistviewlistview不能不能滾動的問題

       我們在Android的佈局中有時會使用到ScrollView,然後在ScrollView中再巢狀listview,但是這樣就會導致listview獲取焦點失敗不能滾動(具體原理可自行搜尋Android的觸控事件的分發機制),在搜尋解決方案時發現需要重寫Scrol

AndroidScrollViewViewPager導致ViewPager顯示的問題

需要ScrollView中加入fillViewport屬性,同時ViewPager設定為固定高度,否則會出現,ViewPager充滿螢幕的情況  <ScrollView         android:layout_width="match_parent"      

解決scrollView編輯框導致能上下滑動的問題

EditText設定maxLines之後,文字行數超過maxLines,會網上摺疊,上下滑動能夠瀏覽全部文字。 若EditText外層有scrollView。在EditText上下滑動,不會像正常情況那樣上。僅僅會滑動了scrollView。 解決的方法是:

我的第一篇部落格--ScrollView自定義ListView顯示解決方案

之前在開發過程中遇到過ScrollView巢狀ListView的開發需求,如果listview的item高度固定的話,可以通過繼承listview進行重寫onMeasure()方法可以完美解決滑動衝突等問題,程式碼如下: public class ChildListVie

ScrollViewListView的技巧總結

前幾天因為專案的需要,要在一個ListView中放入另一個ListView,也即在一個ListView的每個ListItem中放入另外一個ListView。但剛開始的時候,會發現放入的小ListView會顯示不完全,它的高度始終有問題。上網查了下,發現別人也有遇到這樣的問

安卓在ScrollViewViewPager,設定ViewPager的單個頁面高度隨內容變化

在開發過程中,有時候頁面佈局比較複雜,會使用到ScrollView和ViewPager,如果不進行處理,會出現不顯示ViewPager的子頁面,或者子頁面高度一樣,內容顯示不全,或者是留白太多。我的需求是需要在頁面下面加一個可以左右滑動的分欄,而且兩個分類的頁面高度不一致且不

NestedScrollView,ScrollViewlistView 或者RecyclerView會自動跳到頂部,中部,底部的問題。

在開發中,我們經常會遇到這樣的佈局,就是NestedScrollView,ScrollView中巢狀listView 或者RecyclerView,但是有時候會發現會出現自動跳轉到listview或者recycleview的頂部或者頂部的問題,開始在網上查詢,也有別人遇到這個

千萬不要在ScrollViewListView

為什麼不要在ScrollView中巢狀ListView 網上關於ScrollView巢狀ListView的文章很多。確實ListView可以通過重寫onMeasure方法將ListView的高度重新設定實現功能,但是真的得不償失。如果真的有需求請用LinearLayout代

ScrollViewRecyclerView出現焦點問題,預設的介面是頂部

在做首頁時使用ScroolView,首頁上面有圖片還有一些模組的快速入口,下面是列表的展示,列表使用RecyclerView來展示通知資訊頁面。但是遇到一個問題,每次進入首頁頁面時,整個頁面起始位置並不是頂部。在網上搜到好多類似的問題,比如ScrollView和ListVie

ScrollviewlistView資料顯示正常問題

ScrollView 巢狀listview 資料顯示不全的問題解決方案:    提供一種比較中意的解決方案,不需要自己去測量高度,省了很多事。具體方案如下: 定義一個自己的listView,重寫屢試不爽。如果即使重寫之後還不能顯示完全,在加上一句 scrollView.sc

ScrollViewListView禁止ListView的滾動

ScrollView內巢狀ListView時不知道為什麼ListView高度很小隻能顯示一行資料,網上有說是因為ScrollView和ListView之間衝突導致的 禁止ListView的滾動事件時可以解決該問題,只讓

android viewpagerrecyclerview寬度顯示問題

問題:viewpager嵌套了recyclerview,前面幾個item寬度顯示有問題(往下滑之後又往上就正常了),起初以為是inflate問題,後來發現是因為使用了ConstraintLayout的問題,刪除了直接使用RecyclerView就沒問題了

真正解決ScrollViewRecyclerView的顯示及滑動問題

很多人都會遇到ScrollView巢狀RecyclerView巢狀的問題,各種巢狀模式,這種巢狀會出現以下幾種問題: 1、ScrollView和RecyclerView兩者都會滑動,而且有時候,滑動會衝突 2、RecyclerView顯示不全

關於ScrollviewRecyclerView高度顯示

前言 做 Android開發我們經常會遇到這種ScrollView巢狀Listview或者 巢狀RecyclerView的需求,當我們搜尋解決方案時經常會遇到這句話 you should never put a scrollable view insid

RecyclerViewRecyclerView item 顯示及資料顯示問題

今天在做專案中的商品屬性選擇彈框,用RecyclerView巢狀RecyclerView來實現,發現子RecyclerView item資料不顯示並且item數不全,如圖: 查了網上的解決方案。改為 父RecyclerView繫結佈局方式: return new AttributesV