0
사용자가 손가락을 화면에 올려 놓은 상태에서 위아래로 슬라이드 할 수 있어야하는 사용자 지정 목록 뷰가 있습니다. 어떻게 할 수 있습니까? ontouchEvent thats를 사용자 정의 listview 클래스에 제공했습니다. 나는이 시도했다 .setY (event.getY())하지만 reallt 작업 않습니다. 내가 어떻게 할 수 있니?손가락 위치에서 뷰를 슬라이드하는 방법
@Override
public boolean onTouchEvent(MotionEvent event) {
//System.out.println("First ["+this.getFirstVisiblePosition()+"]");
float y = event.getY();
switch (event.getAction()) {
case MotionEvent.ACTION_MOVE: {
this.setY(event.getY());
if ((y - startY) > THRESHOLD && STATE_REFRESH_ENABLED && !STATE_REFRESHING && Ref_once) {
if(mListener!=null) mListener.onRefresh();
Log.d("CUSTOM LIST"," FOODHOTER LIST LISTENER WORKING");
this.setClickable(false);
Ref_once=false;
}
}
break;
case MotionEvent.ACTION_DOWN: {
startY = y;
// STATE_REFRESH_ENABLED = getFirstVisiblePosition() == 0; // We are on the first element so we can enable refresh
STATE_REFRESH_ENABLED =listIsAtTop() ;
this.setClickable(true);
}
case MotionEvent.ACTION_UP: {
STATE_REFRESHING = false;
this.setClickable(true);
Ref_once=true;
}
}
return super.onTouchEvent(event);
}
아니요, 작동하지 않습니다. 나는 내 손가락을 아래로 드래그 할 때 전체 목록 뷰를 드래그 할 수 있어야한다. – Samantha
일부 변경했다. 이제 listview를 참조하고 변수 이름이 코드에서 무엇인지 모르고 ACTION_MOVE를 기반으로 델타 스크롤로 변경했습니다. –