记录一个PullToRefreshListView的bug 不显示

今天遇到一个PullToRefreshListView的bug,就是ListView替换为PullToRefreshListView,setAdapter()后发现列表中没有数据显示,getView根本就不执行,从下午一直查到了现在,调试发现adapter里是有数据的,而listView的getView()方法没有被执行到。最后发现原因是在布局文件的<com.handmark.pulltorefresh.library.PullToRefreshListView>元素中指定了Android:visibility="gone"属性(在.Java文件里在setAdapter()之前先调用了listView.setVisibility(View.VISIBLE)),在布局文件里去掉此属性,改为在activity的onCreate()里执行listView.setVisibility(View.GONE)后恢复正常,没有深入调查这两种方式对PullToRefreshListView有什么区别,对标准ListView是没有区别的。

这真是PullToRefreshListView的一个大坑,记录在此。

    <com.android.pc.ioc.pullrefresh.PullToRefreshListView
        android:id="@+id/listview_search"
        android:visibility="gone" <---- 写在这里有bug,要写在代码里
        style="@style/listview_no_divder" />

    <com.android.pc.ioc.pullrefresh.PullToRefreshListView
        android:id="@+id/listview_content"
        style="@style/listview_no_divder" />

参考来源

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容