您的位置:首页 > 其它

Listview的getView调用比getCount少

2016-03-04 09:59 106 查看
【关键代码】

@Override

public int getCount()

{

int nofityMsgSize = nofityMsgList==null?0:nofityMsgList.size();

logger.d("NotifyMessageAdapter#getCount:%d",nofityMsgSize);

return nofityMsgSize;

}

@Override

public View getView(int position, View convertView, ViewGroup parent)

{

logger.d("NotifyMessageAdapter#getView#position:%d",position);

View view = null;

view = renderNofityMsg(position,convertView,parent);

return view;

}

public void pushItem(NotifyMsgEntity msg)

{

logger.d("NotifyMessageActivity#pushList msgInfo:%s", msg);

adapter.addItem(msg);

adapter.notifyDataSetChanged();

}

【问题描述】

在nofityMsgList里最初存储的数据有2条,数据内容分别为0和1,在界面显示为0和1。

调用pushItem后,增加一条新数据,数据内容为2。

nofityMsgList中的数据增加至3条。

getCount返回的值为3。

可是getView却只被调用2次,界面显示分别为1和2(0不显示)。

如果再次调用pushItem,增加一条新数据,数据内容为3,则getView仍然只被调用2次,界面显示分别为2和3(0和1不显示)。

【解决方法】

将Listview的上一级布局的高度设置为:android:layout_height="match_parent"。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: