Listview多次重复调用getview的问题

原因:主要是由于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,不然会重复调用。

}


}

});


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,679评论 25 709
  • 事到如今,我真想骂自己,活该没人愿意和我做朋友。 今天洗澡的时候,突然想想这些天的所作所为,感觉自己差劲极了。事实...
    四鬼阅读 1,630评论 3 1
  • 如果你问我 最难过的时候是什么 我便回答你 思念你
    茶翁阅读 1,459评论 0 1
  • 我想 我是不能抵达你的 因为 当我逐渐走向你 你就会慢慢消逝 以致于 破碎并且湮灭 然而 我对你是爱着的 赤诚并且...
    胡珂Garfield阅读 2,338评论 0 0
  • 每个少女都有过自己的私人小天地,写下自己内心的快乐和忧愁,记录或一瞬或永久内心的悸动和遗憾,我也不例外,可我已经走...
    穿花蝴蝶阅读 1,895评论 1 0

友情链接更多精彩内容