所以我有这个列表视图,高度为fillparent,主要是屏幕大小的一半,但之后我需要更改这个列表视图的父布局。在这里,我开始注意到该应用程序非常滞后,经过一些诊断后,我了解到来自适配器的getView()被调用了很多次,
PS:当列表视图高度为wrapcontent时,我首先遇到了这个问题,将其更改为fillparent解决了这个问题,但随着高度的变化再次出现,
如果有人对此有任何线索,将不胜感激,谢谢大家
所以我有这个列表视图,高度为fillparent,主要是屏幕大小的一半,但之后我需要更改这个列表视图的父布局。在这里,我开始注意到该应用程序非常滞后,经过一些诊断后,我了解到来自适配器的getView()被调用了很多次,
PS:当列表视图高度为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;
}
谢谢大家,我弄错了,当我尝试更改其父级的高度时,我错误地做了RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT , ViewGroup.LayoutParams.WRAP_CONTENT ) ;
将其更改为 FILL_PARENT 后,问题消失了,再次感谢您的时间