麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統 > Android > 正文

android中ListView多次刷新重復執行getView的解決方法

2020-04-11 12:15:32
字體:
來源:轉載
供稿:網友
以前倒是沒有注意listview的getView會重復執行多次,這次因為布局比較復雜,所以在測試的時候去斷點跟蹤,發現同一條數據不斷的重復執行。覺得很奇怪,于是上網搜索了一下。網上的解釋基本一致,就是ListView布局時height和width都不是fill_parent,導致不斷計算高度,不斷刷新。或者說它的父容器沒有設置成fill_parent。

可以布局太復雜的情況下,全部按照fill_parent去調整不現實。所以想了另一種方案,就是動態固定高度。
在程序運行后,固定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中執行,需要做延時處理,否則高度為0
listView.setLayoutParams(params);
}

這樣發現ListView刷新的速度大幅加快。同事也解決了Item中文本輸入EditText中如果存在addTextChangedListener(new TextWatcher()的監聽,導致多次執行監聽代碼的情況。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 成人精品免费在线观看 | 粉嫩蜜桃麻豆免费大片 | 在线日韩亚洲 | 日韩精品免费一区二区三区 | 久久99精品视频在线观看 | 刘亦菲一区二区三区免费看 | 孕妇体内谢精满日本电影 | aaaaa国产欧美一区二区 | 狠狠操精品视频 | 女人久久久www免费人成看片 | 欧美日在线观看 | 久久91久久久久麻豆精品 | 欧美性视频一区二区 | 日本教室三级在线看 | 亚洲日色 | 久久网国产精品 | 久久九九热re6这里有精品 | 久久久久久久久久久久久九 | 欧美成人精品一区二区 | 羞羞视频免费网站含羞草 | 黄色免费影片 | 欧美在线成人影院 | 成人免费观看49www在线观看 | 91在线视频观看 | 护士xxxx | 色视频在线观看 | 毛片大全 | 羞羞羞羞视频 | 国产青草视频在线观看 | jizzjizz中国少妇中文 | a一级黄 | 国产三级午夜理伦三级 | 黄色av网站免费 | 久久9色| 欧美成人精品一级 | 99re66热这里只有精品8 | 视频一区二区在线观看 | 欧美日韩在线播放 | 国产精品久久久久久久久久免 | 日本精品一二区 | 精品国产一区二区三区成人影院 |