반응형

swipe refresh

데이터를 받아오는 작업을 하거나, 새로고침이 필요한 경우 해당 라이브러리를 사용하여 간단한게 구현할 수 있습니다.


build.gradle

// swipe refresh
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"

 

xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.swiperefreshlayout.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/swiperefreshlayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".User.UserActivity">
    
    // 내용
    
    </androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

새로고침을 구현할 부분을 SwipeRefreshLayout으로 감싸 줍니다.

Activity

SwipeRefreshLayout swipeRefreshLayout;

...

        // 새로고침
        swipeRefreshLayout = findViewById(R.id.swiperefreshlayout);

        swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
            @Override
            public void onRefresh() {
            
            // 새로고침 할 부분

                swipeRefreshLayout.setRefreshing(false);
            }
        });

setOnRefreshListener를 호출하여 onRefresh() 부분에 새로고침 할 부분에 대한 코드를 입력하시면 됩니다.

 

가령 어떤 리스트 값을 받아온다고 할때, Retrofit라이브러리의 Get요청을 통해 서버의 데이터를 조회합니다.

Get요청에 대한 코드를 '새로고침 할 부분'에 넣어주시고 화면을 위에서 아래로 쓸어내리면, 해당 동작을 할 때마다 Get요청을 하게 됩니다. 

반응형

+ Recent posts