美文网首页
Listview多次重复调用getview的问题

Listview多次重复调用getview的问题

作者: 郑在学_blog | 来源:发表于2018-07-10 23:36 被阅读0次

原因:主要是由于Listview的宽高不确定, 无法确定取多少View来填充ListView,也就是无法确定运行多少次getView()方法。所以设计布局的时候尽量把listview固定长宽来提高性能。遇到复杂的布局时,可以选择动态测量listview 的高度。


listView_explorer_content.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public void onGlobalLayout() {

LayoutParams lp;

lp = listView_explorer_content.getLayoutParams();

lp.width = listView_explorer_content.getWidth();

lp.height = listView_explorer_content.getHeight();


if (listView_explorer_content.getHeight() > 0) {

listView_explorer_content.setLayoutParams(lp);


}


listView_explorer_content.getViewTreeObserver().removeOnGlobalLayoutListener(this);//移除OnGlobalLayoutListener,不然会重复调用。

}


}

});


相关文章

网友评论

      本文标题:Listview多次重复调用getview的问题

      本文链接:https://www.haomeiwen.com/subject/zkkcpftx.html