计数listView项错误

时间:2013-03-03 11:50:37

标签: android listview counting

我正在尝试计算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?

3 个答案:

答案 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());