为什么ListView.getCount()比Cursor.getCount()大1

时间:2013-10-08 18:25:15

标签: android listview

我有这段代码:

cursor = tbDispositivos.fetchAll();
if(cursor.getCount() > 0){
    TextView emptyText = (TextView) findViewById(android.R.id.empty);
    emptyText.setVisibility(View.GONE);
}
adapter = new DispositivosCursorAdapter(this, cursor);  

dispositivosList = (ListView) findViewById(android.R.id.list);  
dispositivosList.setAdapter(adapter);  

cursorCount = cursor.getCount();
listViewCount = dispositivosList.getCount();  

listViewCountcursorCount大1。为什么呢?

1 个答案:

答案 0 :(得分:2)

cursor.getCount() // number of data items in the cursor
adapter.getCount() // number of data items passed in by the cursor (or at least that is what a custom adapter should report)
listview.getCount() // number of data items from the adapter + a header and/or footer view

因此,使用页眉或页脚会使listview.getCount()比cursor.getCount()大1。如果同时使用页眉和页脚,那么它将大于2。