2014-03-03 1 views
1

나는 그들을 눌렀을 때 확장 될 수있는 목록 항목이있는 목록보기를 가지고 있습니다. 목록의 마지막으로 보이는 항목을 누르면 확장 된 부분이 표시되지 않습니다. 목록 뷰를 스크롤하여 어떻게 확장 된 후 전체 뷰가 표시 될 수 있습니까?안드로이드는 마지막으로 보이는 ListItem이 완전히 보일 때까지 스크롤합니다.

+0

목록보기에 여러보기 유형을 사용하고 있습니까? – gunar

+0

아니요, 내부에 몇 개의 숨겨진보기가있는 LinearLayout입니다 (예 : 진행 표시 줄 – David

답변

0

확실하지 않지만, scrollTo (Integer.MAX_VALUE)를 호출하면 어떻게됩니까?

+0

하지만 마지막 항목이 아니에요, 내가 의미하는 마지막으로 볼 수있는 항목입니다 – David

+0

오 제목은 "Android scroll last ListItem"이라고 오해했습니다. – Ripityom

1

나는 부분적으로 다음 코드를 사용하여 문제를 해결 :

if (listItemView != null) { 
    Rect listViewRect = new Rect(); 
    Rect listItemRect = new Rect(); 
    getListView().getHitRect(listViewRect); 
    listItemView.getHitRect(listItemRect); 
    int bottom = listItemRect.bottom + listItemView.getHeight(); 
    if (bottom > listViewRect.bottom) { 
    int y = bottom - listViewRect.bottom; 
    getListView().scrollTo(getListView().getScrollX(), y); 
    } 
} 

하나의 문제 이제 남은 것은 당신이 scrollTo를 호출 한 다음 손가락으로 당신이 그것을 스크롤 할 때 같은 목록을 누르면 목록이 있다는 것이다 scrollTo를 호출하기 전에 다시 해당 위치로 스크롤됩니다.

관련 문제