프로그래밍 언어/Android

Android Pull-to-Refresh 구현 방법

Rateye 2021. 7. 7. 10:25
728x90
반응형

 

질문 : Android Pull-to-Refresh 구현 방법

Twitter (공식 앱)와 같은 Android 애플리케이션에서 ListView를 만나면이를 아래로 끌어 내려 (출시되면 다시 튀어 나옴) 콘텐츠를 새로 고칠 수 있습니다.

그것을 구현하는 가장 좋은 방법이 무엇이라고 생각합니까?

내가 생각할 수있는 몇 가지 가능성 :

권장 사항이 있습니까?

추신 : 공식 트위터 앱 소스 코드가 언제 출시되는지 궁금합니다. 출시 될 것이라는 언급이 있지만 6 개월이 지났고 그 이후로 소식을 듣지 못했습니다.

답변

마지막으로 Google은 풀-투-리프레시 라이브러리의 공식 버전을 출시했습니다!

지원 라이브러리 내에서 SwipeRefreshLayout 이라고 하며 설명서는 다음과 같습니다.

  1. SwipeRefreshLayout 을 뷰의 부모로 추가하면 레이아웃을 새로 고치는 풀로 처리됩니다. ListView 를 예로 들었습니다. LinearLayout , ScrollView 등과 같은 View 가 될 수 있습니다.)
    <android.support.v4.widget.SwipeRefreshLayout
         android:id="@+id/pullToRefresh"
         android:layout_width="match_parent"
         android:layout_height="wrap_content">
         <ListView
             android:id="@+id/listView"
             android:layout_width="match_parent"
             android:layout_height="match_parent"/>
     </android.support.v4.widget.SwipeRefreshLayout>
  2. 클래스에 리스너 추가
    protected void onCreate(Bundle savedInstanceState) {
         final SwipeRefreshLayout pullToRefresh = findViewById(R.id.pullToRefresh);
         pullToRefresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {
             @Override
             public void onRefresh() {
                 refreshData(); // your code
                 pullToRefresh.setRefreshing(false);
             }
         });
     }

 

 

pullToRefresh.setRefreshing(true/false); 호출 할 수도 있습니다. 귀하의 요구 사항에 따라.

최신 정보

Android 지원 라이브러리는 더 이상 사용되지 않으며 AndroidX로 대체되었습니다. 새 라이브러리에 대한 링크는 여기 에서 찾을 수 있습니다.

또한 프로젝트에 다음 종속성을 추가해야합니다.

implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'

또는

Refactor >> Migrate to AndroidX로 이동하면 Android Studio가 종속성을 처리합니다.

출처 : https://stackoverflow.com/questions/4583484/how-to-implement-android-pull-to-refresh
728x90
반응형