1. 程式人生 > >listview和scrollview滑動事件衝動問題

listview和scrollview滑動事件衝動問題

public class CNCaseRelationListview extends ListView {
    private CNCaseRelationAdapter relationAdapter;
    private String anclsssql = "";
    private List<CNCaseRelationModel> modelList;

    public void setAnId(String anId) {
        if (anId == null || anId.equals("")) {
            return
; } anclsssql = "select A.id as anId,A.anClass,A.addtime as caseTime from CNANLI as A where isdel = 0 and id='" + anId + "'"; CNCaseRelationModel caseRelationModel = GreenDaoManager.getInstance().queryOne(CNCaseRelationModel.class, anclsssql); caseRelationModel.setViewType
(0); modelList.add(caseRelationModel); anclsssql = "select * from CNAnli_Party where isdel = 0 and anId = '" + anId + "'"; List<CNAnliParty> partyArray = GreenDaoManager.getInstance().queryList(CNAnliParty.class, anclsssql); HashMap<String, String> map = new
HashMap<>(); for (int i = 0; i < partyArray.size(); i++) { CNAnliParty party = partyArray.get(i); if (map.containsKey(party.getURole())) { map.put(party.getURole(), map.get(party.getURole()) + " " + party.getUName()); } else { map.put(party.getURole(), party.getUName()); } } for (String key : map.keySet()) { CNCaseRelationModel partyModel = new CNCaseRelationModel(); partyModel.setViewType(1); partyModel.setIdentity(key); partyModel.setName(map.get(key)); modelList.add(partyModel); } relationAdapter.replaceDataList(modelList); } public CNCaseRelationListview(Context context) { super(context); } public CNCaseRelationListview(Context context, AttributeSet attrs) { super(context, attrs); modelList = new ArrayList<>(); relationAdapter = new CNCaseRelationAdapter(context); setAdapter(relationAdapter); } public CNCaseRelationListview(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }


請注意最後一個方法
 @Override
    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
        int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST);
        super.onMeasure(widthMeasureSpec, expandSpec);
    }

固定listview的長度