android中ListView多次刷新重復執(zhí)行getView的解決方法
更新時間:2013年06月04日 16:10:34 作者:
以前倒是沒有注意listview的getView會重復執(zhí)行多次,在測試的時候去斷點跟蹤,發(fā)現(xiàn)同一條數(shù)據(jù)不斷的重復執(zhí)行,下面與大家分享下正確的解決方法,希望對你有所幫助
以前倒是沒有注意listview的getView會重復執(zhí)行多次,這次因為布局比較復雜,所以在測試的時候去斷點跟蹤,發(fā)現(xiàn)同一條數(shù)據(jù)不斷的重復執(zhí)行。覺得很奇怪,于是上網(wǎng)搜索了一下。網(wǎng)上的解釋基本一致,就是ListView布局時height和width都不是fill_parent,導致不斷計算高度,不斷刷新?;蛘哒f它的父容器沒有設置成fill_parent。
可以布局太復雜的情況下,全部按照fill_parent去調整不現(xiàn)實。所以想了另一種方案,就是動態(tài)固定高度。
在程序運行后,固定ListView的高度,然后再初始化Item信息。
private void fixedListView(){
listView = (ListView) findViewById(R.id.listview);
ViewGroup.LayoutParams params = listView.getLayoutParams();
layout = (HorizontalScrollView) findViewById(R.id.layout);
params.height = layout.getHeight(); //需要設置的listview的高度,你可以設置成一個定值,也可以設置成其他容器的高度,如果是其他容器高度,那么不要在oncreate中執(zhí)行,需要做延時處理,否則高度為0
listView.setLayoutParams(params);
}
這樣發(fā)現(xiàn)ListView刷新的速度大幅加快。同事也解決了Item中文本輸入EditText中如果存在addTextChangedListener(new TextWatcher()的監(jiān)聽,導致多次執(zhí)行監(jiān)聽代碼的情況。
可以布局太復雜的情況下,全部按照fill_parent去調整不現(xiàn)實。所以想了另一種方案,就是動態(tài)固定高度。
在程序運行后,固定ListView的高度,然后再初始化Item信息。
復制代碼 代碼如下:
private void fixedListView(){
listView = (ListView) findViewById(R.id.listview);
ViewGroup.LayoutParams params = listView.getLayoutParams();
layout = (HorizontalScrollView) findViewById(R.id.layout);
params.height = layout.getHeight(); //需要設置的listview的高度,你可以設置成一個定值,也可以設置成其他容器的高度,如果是其他容器高度,那么不要在oncreate中執(zhí)行,需要做延時處理,否則高度為0
listView.setLayoutParams(params);
}
這樣發(fā)現(xiàn)ListView刷新的速度大幅加快。同事也解決了Item中文本輸入EditText中如果存在addTextChangedListener(new TextWatcher()的監(jiān)聽,導致多次執(zhí)行監(jiān)聽代碼的情況。
您可能感興趣的文章:
- Java判斷List中有無重復元素的方法
- 獲取python的list中含有重復值的index方法
- python生成不重復隨機數(shù)和對list亂序的解決方法
- Java中ArrayList去除重復元素(包括字符串和自定義對象)
- java 查找list中重復數(shù)據(jù)實例詳解
- list集合去除重復對象的實現(xiàn)
- java正則表達式實現(xiàn)提取需要的字符并放入數(shù)組【ArrayList數(shù)組去重復功能】
- Android中ListView異步加載圖片錯位、重復、閃爍問題分析及解決方案
- 2種Java刪除ArrayList中的重復元素的方法
- 兩個List集合取相同重復數(shù)據(jù)的方法
相關文章
完美解決客戶端webview持有的頁面緩存,不會立即釋放的問題
下面小編就為大家?guī)硪黄昝澜鉀Q客戶端webview持有的頁面緩存,不會立即釋放的問題。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-12-12
解決Android Studio 格式化快捷鍵和QQ 鎖鍵盤快捷鍵沖突問題
每次打開qq使用android studio格式化的快捷鍵Ctrl + Alt +L時,總是出現(xiàn)qq鎖鍵盤提示,怎么回事呢?下面小編給大家?guī)砹薬ndroid studio格式化的快捷鍵和qq快捷鍵之間的沖突的處理方法,需要的朋友參考下吧2017-12-12
Android監(jiān)聽輸入法彈窗和關閉的實現(xiàn)方法
用過ios的都知道ios上輸入法關閉的同時會自動關閉輸入框,那么在android上如何實現(xiàn)監(jiān)聽輸入法彈出和關閉呢?接下來通過本文給大家分享一種可靠的實現(xiàn)方式2016-11-11
一文詳解Jetpack?Android新一代導航管理Navigation
這篇文章主要為大家介紹了Jetpack?Android新一代導航管理Navigation詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-03-03
詳解Android Libgdx中ScrollPane和Actor事件沖突問題的解決辦法
這篇文章主要介紹了詳解Android Libgdx中ScrollPane和Actor事件沖突問題的解決辦法的相關資料,希望通過本文能幫助到大家,需要的朋友可以參考下2017-09-09

