根据开源项目XListView进行了一些修改