반응형
프로그래밍 방식으로 SwipeRefreshLayout 트리거
SwipeRefreshLayout
프로그래밍 방식으로 트리거하는 방법이 있습니까? 애니메이션이 시작되고 인터페이스 의 onRefresh
메서드 OnRefreshListener
가 호출되어야합니다.
5.0에서 도입 된 새로운 swipeRefreshLayout을 사용하는 경우
위에 표시된 이미지와 같이 프로그래밍 방식으로 스 와이프 새로 고침 레이아웃을 트리거하려면 다음 줄을 추가하면됩니다.
mSwipeRefreshLayout.post(new Runnable() {
@Override
public void run() {
mSwipeRefreshLayout.setRefreshing(true);
}
});
당신이 단순히 전화하면
mSwipeRefreshLayout.setRefreshing(true);
원이 애니메이션되도록 트리거하지 않으므로 위의 줄 u를 추가하여 UI 스레드에서 지연을 만들어 ui 스레드 내부에 원 애니메이션을 표시합니다.
호출하여 됩니다 실행되지mSwipeRefreshLayout.setRefreshing(true)
OnRefreshListener
순환 로딩 애니메이션 호출을 중지하려면 mSwipeRefreshLayout.setRefreshing(false)
SwipeRefreshLayout 을 트리거 하기 위해이 솔루션을 시도했습니다.
SwipeRefreshLayout.OnRefreshListener swipeRefreshListner = new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Log.i(TAG, "onRefresh called from SwipeRefreshLayout");
// This method performs the actual data-refresh operation.
// The method calls setRefreshing(false) when it's finished.
loadData();
}
};
이제 핵심 부분 :
swipeLayout.post(new Runnable() {
@Override public void run() {
swipeLayout.setRefreshing(true);
// directly call onRefresh() method
swipeRefreshListner.onRefresh();
}
});
프로그래밍 방식으로 onRefresh () 메서드를 호출 한 다음 아직 시작되지 않은 경우 메서드 내에서 애니메이션을 시작할 수 있습니다. 다음을 참조하십시오.
@Override
public void onRefresh() {
if (!mSwipeRefreshLayout.isRefreshing()) mSwipeRefreshLayout.setRefreshing(true);
//TODO
}
이 두 가지를 강요 할 수있는 스 와이프 제스처에 추가하기 위해
swipeRefreshLayout.setOnRefreshListener(
new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
Log.i(TAG, "onRefresh called from SwipeRefreshLayout");
// This method performs the actual data-refresh operation.
// The method calls setRefreshing(false) when it's finished.
FetchData();
}
}
);
binding.swipeRefreshLayout.setRefreshing(true); // show loading
binding.swipeRefreshLayout.post(this::updateUI); // call method
binding.swipeRefreshLayout.setOnRefreshListener(this::updateUI); // call method
참고 URL : https://stackoverflow.com/questions/24587925/swiperefreshlayout-trigger-programmatically
반응형
'programing' 카테고리의 다른 글
Python 하위 프로세스 와일드 카드 사용 (0) | 2020.12.15 |
---|---|
Xcode에서 독립적 인 런타임 설정 세트를 구성하는 방법 (0) | 2020.12.15 |
DataTables : 정의되지 않은 'length'속성을 읽을 수 없습니다. (0) | 2020.12.14 |
Selenium 웹 드라이버 및 Java. (0) | 2020.12.14 |
jQuery 웹 페이지 높이 (0) | 2020.12.14 |