티스토리 뷰

안드로이드 SwipeRefreshLayout 당겨서 새로고침 사용하기

dependencies {
    implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
}
activity_main.xml
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    android:id="@+id/refresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
      ...
</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>
// 1번, 2번 편한 방법으로 사용하시면 됩니다.
public void MainActivity extends AppCompatActivity {

    private SwipeRefreshLayout refresh;

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 1번
        refresh.setOnRefreshListener((SwipeRefreshLayout.OnRefreshListener) () -> {
            // 진행동작
            ...

            // 리프레쉬 종료
            refresh.setRefreshing(false);
        });

        // 2번
        refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
                // 진행 동작
                ...

                // 리프레쉬 완료
                refresh.setRefreshing(false);
            }
        });
    }
}
  • 새로고침을 실행하려면 OnRefreshListener 에 onRefresh() 를 사용해야 됩니다.
  • 아래로 스와이프 동작 실행시 onRefresh() 가 호출되어 진행 동작을 완료 후 setRefreshing(false) 를 호출해야 새로고침 표시가 사라집니다.



œ

댓글