1

所以我有这个列表视图,高度为fillparent,主要是屏幕大小的一半,但之后我需要更改这个列表视图的父布局。在这里,我开始注意到该应用程序非常滞后,经过一些诊断后,我了解到来自适配器的getView()被调用了很多次,

PS:当列表视图高度为wrapcontent时,我首先遇到了这个问题,将其更改为fillparent解决了这个问题,但随着高度的变化再次出现,

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

4

2 回答 2

0

如果您认为您的应用程序由于 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;
    }
于 2013-09-20T18:31:37.973 回答
0

谢谢大家,我弄错了,当我尝试更改其父级的高度时,我错误地做了RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT ) ;

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

于 2013-09-20T18:41:11.007 回答