개발/안드로이드
[안드로이드/android] PullRefreshLayout 을 이용한 당기면 피드 업데이트 구현
공상과학소설
2019. 7. 30. 11:46
반응형
타임라인 어플의 꽃은 당기면 피드 업데이트가 진행된다는 점이다. 나도 이점을 당연히 구현해야지 하고 있었는데 어려울 줄 알았는데 생각보다 매우 쉬웠다. 이 기능은 PullRefreshLayout을 이용하면 된다. 먼저 build.gradle(Module: app)의 dependencies에
|
1
2
3
|
|
를 추가하면 준비 끝이다.
xml 파일
|
1
2
3
4
5
6
7
8
9
10
|
<?xml version="1.0" encoding="utf-8"?>
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/swipeRefreshLayout">
.../>
|
업데이트 하고 싶은 위젯을 PullRefreshLayout 안에 집어넣고
java 파일
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
loading= (PullRefreshLayout)View1.findViewById(R.id.swipeRefreshLayout);
loading.setRefreshStyle(PullRefreshLayout.STYLE_WATER_DROP);
loading.setOnRefreshListener(new PullRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
//Thread - 1초 후 로딩 종료
new AllPostList().execute(whatthe.userNickname);
Handler delayHandler = new Handler();
delayHandler.postDelayed(new Runnable() {
@Override
public void run() {
loading.setRefreshing(false);
}
},1000);
}
});
|
이런 식으로 onRefresh() 안에 새로 고침 하면 시행되어야 하는 메서드를 집어넣는다. 저는 AllPostList()를 넣어주었는데 저 메서드는 글을 최근 상태로 업데이트시켜서 recyclerview에 넣어준다.
결과 화면

반응형