繁体   English   中英

更改列表视图高度后,多次调用Android getView()

[英]Android getView() called multiple times after listview height change

所以我有这个listview,其高度为fillparent ,并且主要是占据了屏幕大小的一半,但是之后我需要更改此listview的父级布局。 在这里,我开始注意到该应用程序异常延迟,经过一些诊断,我了解到适配器的getView()被调用了很多次,

PS:当listview高度为wrapcontent时 ,我首先遇到了这个问题,将其更改为fillparent解决了该问题,但是高度变化又来了,

请如果有人对此有任何线索,将不胜感激,谢谢大家

如果您认为应用程序由于getView()方法而滞后,则应尝试对其进行优化。 Android系统保留了一个可重用的对象池,这些对象作为convertView参数给出。

@Override

    public View getView(int position, View convertView, ViewGroup parent) {
             if (convertView == null) {
              LayoutInflater inflater = context.getLayoutInflater();
              convertView = inflater.inflate(R.layout.rowlayout, null);
             }

             // asign correct values to your items - example:

             TextView text = (TextView) convertView.findViewById(R.id.text);
             text.setText(values.get(position));

             //

            return convertView;
    }

谢谢大家,大家好,我得到了我的错误,当我试图改变其母公司的高度,我mistakly做RelativeLayout.LayoutParams(ViewGroup.LayoutParams WRAP_CONTENT,ViewGroup.LayoutParams WRAP_CONTENT。);

将其更改为FILL_PARENT后,问题消失了,再次感谢您的宝贵时间

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM