最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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去調(diào)整不現(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)聽代碼的情況。

相關文章

最新評論

永城市| 大埔县| 博湖县| 通州市| 沅陵县| 安乡县| 开化县| 阜南县| 莱州市| 东宁县| 嵩明县| 万年县| 合川市| 丘北县| 高碑店市| 苏尼特左旗| 华容县| 丰城市| 兴安盟| 苗栗县| 株洲市| 康保县| 抚州市| 阜平县| 敦化市| 沅陵县| 永春县| 陆川县| 子洲县| 新龙县| 荆门市| 渭源县| 冕宁县| 钦州市| 南城县| 洛浦县| 鄂尔多斯市| 洛南县| 桂平市| 台东县| 郴州市|