所以我有这个列表视图,高度为 fillparent ,主要是它占据屏幕大小的一半,但之后我需要更改此列表视图的父布局。在这里我开始注意到应用程序是疯狂的,经过一些诊断我明白来自适配器的 getView()被调用了很多次,
PS:当listview高度处于 wrapcontent 时,我将这个问题暂时解决,将其更改为 fillparent 解决了问题,但是再次出现了高度变化,< / p>
如果有人对此有任何线索,请不要错过, 谢谢所有
答案 0 :(得分: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;
}
答案 1 :(得分:0)
谢谢大家,我弄错了, 当我试图改变其父母的身高时,我错了 RelativeLayout.LayoutParams(ViewGroup.LayoutParams。 WRAP_CONTENT ,ViewGroup.LayoutParams。 WRAP_CONTENT );
将其更改为FILL_PARENT后,问题就消失了 再次感谢您的时间