自学Android一年了,做了大大小小一些App,参与了项目前台后台开发一年以来,个人感觉进步很大,遇到过很多坑。但是总是因为时间和文笔太烂无处下手没有记录自己的学习心得,真是遗憾。今天晚上遇到这个问题是第二次了,突然想到自己第一次解决问题的痛苦,那种经历历历在目。所以一定要mark一下记录自己遇到的坑。
上图,就是这种效果:
错误代码:
<com.app.controls.PullDownListView
android:id="@+id/bill_list_listView_billlist"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/white"
android:cacheColorHint="#00000000"
android:divider="@drawable/line"
android:dividerHeight="2dp"
android:fadingEdge="none"
android:footerDividersEnabled="true" >
</com.app.controls.PullDownListView>
正确代码:
<com.app.controls.PullDownListView
android:id="@+id/bill_list_listView_billlist"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/white"
android:cacheColorHint="#00000000"
android:divider="@drawable/line"
android:dividerHeight="2dp"
android:fadingEdge="none"
android:footerDividersEnabled="true" >
</com.app.controls.PullDownListView>
真是太尴尬了。本来在模拟器上还好好的,我自己用真机测了一下吓我一跳,这个熟悉的错误又回来了。记得第一次各种搜listview下拉刷新和scrollView嵌套的下拉冲突等,有高手说重新计算一下内容所占高度,然后做scrollToTop操作,具体博客地址不记得了。但是我记得后来是因为我的一个属性把我坑了,就是pullListView一定不要写wrap_content属性,一定要改成match_parent。就这个问题,我自己mark一下,以免以后还犯这种错误~
福利来了,下拉刷新的点击加载更多的ListView源码来了~~
public class PullDownListView extends ListView implements OnScrollListener {
private final static int RELEASE_To_REFRESH = 0;
private final static int PULL_To_REFRESH = 1;
// 正在刷新
private final static int REFRESHING = 2;
// 刷新完成
private final static int REFRESH_DONE = 3;
private final static int LOADING = 4;
private final int FETCHMORING = 5;
private final int FETCHMORE_DONE = 6;
private final int FETCHMORE_NOTHING_DONE = 7;
private final static int RATIO = 3;
private LayoutInflater inflater;
private LinearLayout headView;
p