Android 计数listView项错误

Android 计数listView项错误,android,listview,counting,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) {

我正在尝试统计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显示一些记录时,为什么计数变量值始终为0?

让我解释一下原因。。 您刚刚得到了这样的列表视图

ListView listView = (ListView) findViewById(R.id.listView1);

因此listview没有元素,然后您尝试使用listview获取最后一个可见位置。getLastVisiblePosition始终返回零,因为您的listview尚未与任何适配器绑定,也就是说,当您获取最后一个可见位置时,您的listview为空。请在将适配器绑定到listview后尝试放置此代码


让我解释一下原因。。 您刚刚得到了这样的列表视图

ListView listView = (ListView) findViewById(R.id.listView1);

因此listview没有元素,然后您尝试使用listview获取最后一个可见位置。getLastVisiblePosition始终返回零,因为您的listview尚未与任何适配器绑定,也就是说,当您获取最后一个可见位置时,您的listview为空。请在将适配器绑定到listview后尝试放置此代码


如果要查找所有ListView项的计数,可以使用此调用确保设置了适配器:

listView.getCount();
如果您想要的是可见项目的计数,请尝试此操作,该操作仅适用于可见列表视图:

listView.getLastVisiblePosition()-listView.getFirstVisiblePosition();

如果要查找所有ListView项的计数,可以使用此调用确保设置了适配器:

listView.getCount();
如果您想要的是可见项目的计数,请尝试此操作,该操作仅适用于可见列表视图:

listView.getLastVisiblePosition()-listView.getFirstVisiblePosition();

用这个,它对我的有帮助

String CountListRowNo= String.valueOf(+ListviewObj.getAdapter().getCount());

用这个,它对我的有帮助

String CountListRowNo= String.valueOf(+ListviewObj.getAdapter().getCount());

listView.getLastVisiblePosition==0???listView是从ListAdapter填充的,它具有方法getCount。这就是你需要的吗?listView.getLastVisiblePosition==0???listView是从ListAdapter填充的,它具有方法getCount。这就是你需要的吗?