这个问题网上描述了几点原因,这里只讲我遇到的情况。
遇到的现象:Listview不显示Item,手动点一下界面才会显示。Log打印getCount返回值大于0。
我就说Listview及其Adapter写个几百个肯定是有的,应该不会有什么问题的。然后百思不得解。
最后发现我的数据来自另外一个线程,在数据传递到adapter的时候调用了notifyDataSetChanged()。
就是这个notifyDataSetChanged()是要运行在主线程的,最后使用runOnUiThread()问题迎刃而解。