我正在尝试计算listView项目。我使用这段代码:
int count=0;
ListView listView = (ListView) findViewById(R.id.listView1);
for(int i = 0; i <= listView.getLastVisiblePosition(); i++)
{
if(listView.getChildAt(i)!= null)
{
count++;
}
}
Toast.makeText(getApplicationContext(), String.valueOf(count), Toast.LENGTH_SHORT).show();
当listView显示某些记录时,为什么COUNT变量值始终为0?
答案 0 :(得分:4)
如果您正在寻找所有ListView项目的计数,您可以使用此调用(确保设置适配器):
listView.getCount();
如果你想要的是可见项目的数量,试试这个(仅适用于可见的ListView):
listView.getLastVisiblePosition()-listView.getFirstVisiblePosition();
答案 1 :(得分:1)
让我解释原因.. 你刚刚得到这样的列表视图
ListView listView = (ListView) findViewById(R.id.listView1);
所以listview没有元素然后你想通过使用listView.getLastVisiblePosition()
得到最后一个可见的位置它总是返回零,因为你的listview还没有绑定任何适配器,即你的listview当时是空的你的最后一个可见位置是place this code after binding Adapter to the listview
for(int i = 0; i <= listView.getLastVisiblePosition(); i++)
{
if(listView.getChildAt(i)!= null)
{
count++;
}
}
答案 2 :(得分:1)
使用它。它有助于我的
String CountListRowNo= String.valueOf(+ListviewObj.getAdapter().getCount());