ListVIew显示不全

里面的信息有时重新再加载就可以显示成功,但是有时候就是会部分信息不显示出来

  1. 先查看数据源是否正常,相应的item是否数据完整。
  2. 打开手机开发者模式中的显示布局边界,查看view是否正常显示。
  3. ListView的复用机制是否使用正确。


     

     

使用自定义的MyListView代替ListView,代码如下:

package com.android.bleclient.util;

import android.content.Context;
import android.util.AttributeSet;
import android.view.View;
import android.widget.ListView;


public class MyListview extends ListView {
    public MyListview(Context context) {
        super(context);
    }

    public MyListview(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyListview(Context context, AttributeSet attrs, int defStyleAttr) {
        super(context, attrs, defStyleAttr);
    }

    /**
     * 重新计算高度
     * @param widthMeasureSpec
     * @param heightMeasureSpec
     */
    @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = View.MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, View.MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }
}