GridView 페이지 분할(AbsListView 아래쪽으로 스크롤 정밀 감지)
2062 단어 ListView
import android.view.View;
import android.widget.AbsListView;
import android.widget.Toast;
import android.widget.AbsListView.OnScrollListener;
/**
* ,
*/
public class AutoLoadListener implements OnScrollListener {
public interface AutoLoadCallBack {
void execute();
}
private int getLastVisiblePosition = 0, lastVisiblePositionY = 0;
private AutoLoadCallBack mCallback;
public AutoLoadListener(AutoLoadCallBack callback) {
this.mCallback = callback;
}
public void onScrollStateChanged(AbsListView view, int scrollState) {
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
//
if (view.getLastVisiblePosition() == (view.getCount() - 1)) {
View v = (View) view.getChildAt(view.getChildCount() - 1);
int[] location = new int[2];
v.getLocationOnScreen(location);//
int y = location[1];
MyLog.d("x" + location[0], "y" + location[1]);
if (view.getLastVisiblePosition() != getLastVisiblePosition && lastVisiblePositionY != y)//
{
Toast.makeText(view.getContext(), " , ", 500).show();
getLastVisiblePosition = view.getLastVisiblePosition();
lastVisiblePositionY = y;
return;
} else if (view.getLastVisiblePosition() == getLastVisiblePosition && lastVisiblePositionY == y)//
{
mCallback.execute();
}
}
// ,
getLastVisiblePosition = 0;
lastVisiblePositionY = 0;
}
}
public void onScroll(AbsListView arg0, int arg1, int arg2, int arg3) {
}
}
기사 참조:http://blog.csdn.net/hellogv/article/details/6615487
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Flutter의 ListTile에서 높이를 지정하면 레이아웃이 무너지는 문제현재 업무로 1개월 반 정도 Flutter를 사용하고 있습니다. 아주 좋은 팀으로, 최근에는 Flutter 자체에도 열중해 왔습니다. title, subtitle, leading, trailing 등을 설정하는 것만...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.