最后,Google发布了正式版本的Pull-to-Refresh库!
它被称为SwipeRefreshLayout
,在支持库中,文档是here:
添加SwipeRefreshLayout
作为视图的父视图,该视图将被视为刷新布局的 pull .(我以ListView
为例,它可以是任何View
,比如LinearLayout
、ScrollView
等.)
<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>
向类中添加一个侦听器
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);
.
UPDATE个
Android支持库已被弃用,并被AndroidX取代.新图书馆的链接可以在here页找到.
此外,您还需要向项目中添加以下依赖项:
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
OR个
你可以go 重构>>;迁移到AndroidX,Android Studio将为您处理依赖关系.