2013-07-18 20 views

回答

2

嘗試重寫你的孩子onInterceptTouchEvent()這樣的:

@Override 
public boolean onInterceptTouchEvent(MotionEvent ev) { 
    if(!isAtTop && !isAtBottom){ 
     getParent().requestDisallowInterceptTouchEvent(true); 
    }    
    return super.onInterceptTouchEvent(ev); 
} 

onInterceptTouchEvent()計算,如果ListView控件已完全滾動到頂部或底部。如果它介於兩者之間,則請父母不要攔截觸摸。

要檢查頂部或底部的嘗試:

int scrollRange = computeVerticalScrollRange(); 
int scrollOffset = computeVerticalScrollOffset(); 
int scrollExtend = computeVerticalScrollExtent(); 
if(scrollOffset == 0){ 
    //AtTop 
}else if(scrollRange == scrollOffset + scrollExtend){ 
    //AtBottom 
} 
+0

謝謝,我想我應該在它的滾動位置的工作,但感謝你的提示; –

+0

滾動條的位置取決於滾動位置,所以它真的沒關係。 – thaussma