inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

FetchMore 로딩 UI 작업하기

ScrollController 동작이 안되서 질문드립니다.

366

이승용

작성한 질문수 1

0

"완성된 Pagination 로직 실행해보기" 강의에서 Scroll 위치를 찾기 위해서 반영한 ScrollController에서 Listener를 등록해도 스크롤 할때 동작을 하지 않아서 문의드립니다.

 

- 리스너를 등록해도 스크롤 시 print('run') 이 동작을 안합니다..

flutter 하이브리드-앱 scrollcontroller

답변 2

0

코드팩토리

안녕하세요!

스크롤 리스너는 initState에서 등록하고 있습니다.

초급 강의의 제 라이플 사이클 내용을 기억 해보시면 initState는 State 클래스 첫 생성때 이외에는 절대로 다시 실행되지 않습니다.

initState가 실행되는 상황을 만드시면 문제가 해결될거라 생각됩니다. (예: 재실행)

감사합니다!

0

이승용

재실행을 해도 동작을 안하네요 코드도 동일한데요,,

 

0

코드팩토리

다음으로 의심 해볼만한건 scroll controller를 리스트에 넣어주지 않은 경우입니다. 스크롤 컨트롤러를 아무데서도 사용하고 있지 않다면 아무리 리스너를 입력 해봤자 당연히 작동하지 않습니다. 확인 부탁드립니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.

Flutter 응용 프로그램에서 ScrollController를 사용할 때 스크롤 이벤트 리스너가 작동하지 않는 문제는 몇 가지 일반적인 원인으로 인해 발생할 수 있습니다. 우선 ScrollController가 올바르게 위젯에 연결되었는지 확인하십시오. 그 후, 리스너가 어떻게 등록되었는지 점검해야 합니다.
리스너가 위젯의 initState 메서드 내부에서 ScrollController에 추가되었는지 확인하십시오. 또한 리스너 내부의 조건문이 적절하게 설정되었는지, 예를 들어 스크롤 위치가 촉발 조건임을 검토하십시오. 끝으로 리스너 메서드 내에 프린트 문이 올바르게 포함되어 있는지 확인하세요.

샘플로 참고할 수 있는 기본적인 코드 구조는 다음과 같습니다.

@override
void initState() {
  super.initState();
  _scrollController = ScrollController();
  _scrollController.addListener(scrollListener);
}

void scrollListener() {
  if (_scrollController.offset >= _scrollController.position.maxScrollExtent &&
      !_scrollController.position.outOfRange) {
    print('run');
    //pagination 로직 실행
  }
}

리스너를 위와 같이 등록하였지만 여전히 문제가 해결되지 않는다면, 리스너의 조건문이 이벤트를 적절하게 캐치하는지, _scrollController의 다른 속성들이 적절한 값으로 설정되어 있는지 확인해 보세요. 또한 사용하는 ListView 또는 ScrollView 위젯이 ScrollController와 연결되어 있는지 확인이 필요합니다.

위의 사항들을 체크해보시고, 여전히 문제가 해결되지 않는다면 좀 더 구체적인 코드와 함께 문의 부탁드립니다.

감사합니다.

Isar 마지막 업데이트는 2년전입니다.

0

30

0

FlutterSecureStorage 질문

0

31

0

Dio onError Interceptor 만드는 부분에 질문이 있습니다.

0

79

2

관리자 기능에 대한 질문

0

100

2

part 'restaurant_model.g.dart';

0

92

1

36강. dio 인터셉터에 storage를 전달하는 코드가 이해 안되는데요. 도움 부탁드립니다.

0

56

2

2번 반환 상황 관련 질문

0

61

2

riverpod 3.0

0

139

2

Asset folder??

0

82

2

디자이너와 협업 시 프레임 크기 설정 관련 질문

0

113

2

FutureProvider, StateNotifierProvider 선택 기준

0

70

2

컴포넌트 모델화

0

64

2

쿼리 파라미터

0

84

2

화면 안보임

0

67

2

PaginationListView

0

54

1

강의중 37.Dio onErrorInterceptor 작업하기 dio 관련 질문입니다.

0

101

2

프로토타입이미지

0

62

2

여러 객체를 상태 관리하는 방법에 대한 질문

0

84

2

장바구니 결제하기 응답이 500이 옵니다.

0

105

2

removeFromBasket에서 await patchBasket()을 마지막에 하면 에러나는거 아닌가요?

0

67

2

이 두가지는 완전히 동일한 기능인가요?

0

106

3

내부 코드를 작성하지 않은 CursorPaginationLoading가 어떻게 로딩상태를 갖는지 잘 모르겠습니다...

0

77

2

_SplashScreenState에서 storage를 late로 호출해서 한번만 불러와도 되나요?

0

86

2

코딩 작성 순서 관련 질문

0

88

2