ListView 不执行getView()方法
分析:
首先确认数据有没有发生变化;
其次是需要注意istView在开始绘制的时候,系统首先调用getCount()函数,根据他的返回值得到 listView的长度,然后根据这个长度,调用getView()逐一绘制每一行。
错误:(在调用getCount()函数时,返回值为0)
productList=new ArrayList<AddPhoneContracts>();
List<AddPhoneContracts> p = xnb_util.getAllPhone();
for(AddPhoneContracts add:p){
productList.add(add);
}
ProductComparable sort = new ProductComparable();
ProductComparable.sortASC = true;
ProductComparable.sortByState = true;
Collections.sort(productList, sort);
myAdapter = new MyListAdapter(mContext);
mListView.setAdapter(myAdapter);
layout.setVisibility(View.INVISIBLE);
改正:
productList=new ArrayList<AddPhoneContracts>();
List<AddPhoneContracts> p = xnb_util.getAllPhone();
for(AddPhoneContracts add:p){
mContactsName.add(add.getName());
productList.add(add);
}
ProductComparable sort = new ProductComparable();
ProductComparable.sortASC = true;
ProductComparable.sortByState = true;
Collections.sort(productList, sort);
myAdapter = new MyListAdapter(mContext);
mListView.setAdapter(myAdapter);
layout.setVisibility(View.INVISIBLE);
浙公网安备 33010602011771号