我正在尝试为我的Android应用程序设置一些测试,我正在测试数据库中的条目创建是否显示在我的ListView中。
这里有一些代码片段:
mDbHelper.createAccount();
assertEquals(1, mAccountListAdapter.getCount());
assertEquals(1, mAccountList.getChildCount());
第一个断言正常 但在第二个,getChildCount返回0。
所以适配器很好,但是listView没有显示它?
当我手动测试时,该功能可用。
答案 0 :(得分:2)
mAccountList.getChildCount()
是指ViewGroup
的方法,它返回此视图包含的视图数,而不是ListView
方法本身。所以你的断言是无效的。
答案 1 :(得分:1)
getCount()方法返回列表中包含的项目数 getChildCount()方法返回屏幕中可见的项目数。
答案 2 :(得分:0)
getCount()返回您适配器中的项数(列表中的总数), getChildCount()是一个ViewGroup方法,可返回您的子视图数。 ListView会主动重用视图,因此,如果您的列表中包含 1000 个项目,则 getCount()将返回 1000 , getChildCount()- 大约10左右 ...