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

android中ListView多次刷新重復(fù)執(zhí)行g(shù)etView的解決方法

 更新時(shí)間:2013年06月04日 16:10:34   作者:  
以前倒是沒(méi)有注意listview的getView會(huì)重復(fù)執(zhí)行多次,在測(cè)試的時(shí)候去斷點(diǎn)跟蹤,發(fā)現(xiàn)同一條數(shù)據(jù)不斷的重復(fù)執(zhí)行,下面與大家分享下正確的解決方法,希望對(duì)你有所幫助
以前倒是沒(méi)有注意listview的getView會(huì)重復(fù)執(zhí)行多次,這次因?yàn)椴季直容^復(fù)雜,所以在測(cè)試的時(shí)候去斷點(diǎn)跟蹤,發(fā)現(xiàn)同一條數(shù)據(jù)不斷的重復(fù)執(zhí)行。覺(jué)得很奇怪,于是上網(wǎng)搜索了一下。網(wǎng)上的解釋基本一致,就是ListView布局時(shí)height和width都不是fill_parent,導(dǎo)致不斷計(jì)算高度,不斷刷新?;蛘哒f(shuō)它的父容器沒(méi)有設(shè)置成fill_parent。

可以布局太復(fù)雜的情況下,全部按照f(shuō)ill_parent去調(diào)整不現(xiàn)實(shí)。所以想了另一種方案,就是動(dòng)態(tài)固定高度。
在程序運(yùn)行后,固定ListView的高度,然后再初始化Item信息。
復(fù)制代碼 代碼如下:

private void fixedListView(){
listView = (ListView) findViewById(R.id.listview);
ViewGroup.LayoutParams params = listView.getLayoutParams();
layout = (HorizontalScrollView) findViewById(R.id.layout);
params.height = layout.getHeight(); //需要設(shè)置的listview的高度,你可以設(shè)置成一個(gè)定值,也可以設(shè)置成其他容器的高度,如果是其他容器高度,那么不要在oncreate中執(zhí)行,需要做延時(shí)處理,否則高度為0
listView.setLayoutParams(params);
}

這樣發(fā)現(xiàn)ListView刷新的速度大幅加快。同事也解決了Item中文本輸入EditText中如果存在addTextChangedListener(new TextWatcher()的監(jiān)聽(tīng),導(dǎo)致多次執(zhí)行監(jiān)聽(tīng)代碼的情況。

相關(guān)文章

最新評(píng)論

南城县| 舟曲县| 读书| 洪泽县| 中江县| 长顺县| 墨江| 三河市| 灵寿县| 新晃| 芒康县| 油尖旺区| 板桥市| 潮州市| 寿光市| 延庆县| 凯里市| 滁州市| 西盟| 池州市| 剑川县| 新余市| 宕昌县| 呼伦贝尔市| 固镇县| 青河县| 五原县| 凤庆县| 睢宁县| 桂东县| 阳原县| 通许县| 台北市| 达日县| 饶河县| 当涂县| 松溪县| 平远县| 大理市| 南丹县| 鹤庆县|