listview可以通过点击的X,Y,位置来获取到点击的item pointToPosition(x,y), 获取当前点击itemview的方法 View view=getChildAt(mCurrentViewPos - getFirstVisiblePosition());
ListView已到顶部的判断
<p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"></p><div> </div><div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">boolean</span><span class="pln"> isListViewReachTopEdge</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">final</span><span class="pln"> </span><span class="typ" style="color: rgb(102, 0, 102);">ListView</span><span class="pln"> listView</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">boolean</span><span class="pln"> result</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="kwd" style="color: rgb(0, 0, 136);">false</span><span class="pun" style="color: rgb(102, 102, 0);">;</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">if</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln">listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getFirstVisiblePosition</span><span class="pun" style="color: rgb(102, 102, 0);">()==</span><span class="lit" style="color: rgb(0, 102, 102);">0</span><span class="pun" style="color: rgb(102, 102, 0);">){</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">final</span><span class="pln"> </span><span class="typ" style="color: rgb(102, 0, 102);">View</span><span class="pln"> topChildView </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln"> listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getChildAt</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="lit" style="color: rgb(0, 102, 102);">0</span><span class="pun" style="color: rgb(102, 102, 0);">);</span></div><div><span class="pln"> result</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln">topChildView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getTop</span><span class="pun" style="color: rgb(102, 102, 0);">()==</span><span class="lit" style="color: rgb(0, 102, 102);">0</span><span class="pun" style="color: rgb(102, 102, 0);">;</span></div><div><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">}</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">return</span><span class="pln"> result </span><span class="pun" style="color: rgb(102, 102, 0);">;</span></div><div><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">}</span></div></div><p style="margin-top: 0px; margin-bottom: 10px; padding-top: 0px; padding-bottom: 0px;"></p>
注:view的getTop()表示的是该View的顶部到父控件的左上角的垂直距离。
当ListView的第一个child View的getTop()为零时,就表示ListView已经滚动到顶部了或已经在顶部不能在向上滑动了。
ListView已到底部的判断
ListView已到底部的判断
<div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">public</span><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">boolean</span><span class="pln"> isListViewReachBottomEdge</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="kwd" style="color: rgb(0, 0, 136);">final</span><span class="pln"> </span><span class="typ" style="color: rgb(102, 0, 102);">ListView</span><span class="pln"> listView</span><span class="pun" style="color: rgb(102, 102, 0);">)</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">boolean</span><span class="pln"> result</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="kwd" style="color: rgb(0, 0, 136);">false</span><span class="pun" style="color: rgb(102, 102, 0);">;</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">if</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln">listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getLastVisiblePosition</span><span class="pun" style="color: rgb(102, 102, 0);">()</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">==</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln">listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getCount</span><span class="pun" style="color: rgb(102, 102, 0);">()</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln"> </span><span class="lit" style="color: rgb(0, 102, 102);">1</span><span class="pun" style="color: rgb(102, 102, 0);">))</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">{</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">final</span><span class="pln"> </span><span class="typ" style="color: rgb(102, 0, 102);">View</span><span class="pln"> bottomChildView </span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln"> listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getChildAt</span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln">listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getLastVisiblePosition</span><span class="pun" style="color: rgb(102, 102, 0);">()</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">-</span><span class="pln"> listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getFirstVisiblePosition</span><span class="pun" style="color: rgb(102, 102, 0);">());</span></div><div><span class="pln"> result</span><span class="pun" style="color: rgb(102, 102, 0);">=</span><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">(</span><span class="pln">listView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getHeight</span><span class="pun" style="color: rgb(102, 102, 0);">()>=</span><span class="pln">bottomChildView</span><span class="pun" style="color: rgb(102, 102, 0);">.</span><span class="pln">getBottom</span><span class="pun" style="color: rgb(102, 102, 0);">());</span></div><div><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">};</span></div><div><span class="pln"> </span><span class="kwd" style="color: rgb(0, 0, 136);">return</span><span class="pln"> result</span><span class="pun" style="color: rgb(102, 102, 0);">;</span></div><div><span class="pln"> </span><span class="pun" style="color: rgb(102, 102, 0);">}</span></div>